第五小题!!!!!感激不尽!!!!!
第四个最好能一块说说,如果不能就算了哈哈哈
15 个解决方案
#1
就是考stringbuilder的用法啊。。
public static void main(String[] args) {
String word = "two", target = "Two";
String str = "Nature has given us that two ears, two eyes, and but...";
StringBuilder stringBuilder = new StringBuilder(str.length());
stringBuilder.append(str);
int index = str.lastIndexOf(word);
stringBuilder = stringBuilder.replace(index, index + word.length(), target);
System.out.println(stringBuilder.toString());
}
#2
System.out.println("Nature has given us that two ears, Two eyes, and but one tongue, to the end that we should hear and see more than we speak.");
#3
String str = "Nature has given us that two ears, two eyes, and but one tongue, to the end that we should hear and see more than we speak";
int index = str.lastIndexOf(" two ");
String str1 = str.substring(0, index + 1);
String str2 = str.substring(index + 1, index + 2);
String str3 = str.substring(index + 2);
String newStr = str1.concat(str2.toUpperCase()).concat(str3);
System.out.println(newStr);
#4
学过string类就可以写了
#5
Java中字符串中子串的查找共有四种方法,如下:
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
很清楚了吧
利用lastindexof
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
很清楚了吧
利用lastindexof
#6
优化一下
String str = "Nature has given us that two ears, two eyes, and but one tongue, to the end that we should hear and see more than we speak";
StringBuffer sb = new StringBuffer(str);
int index = str.lastIndexOf(" two ");
char c = str.charAt(index + 1);
String ss = String.valueOf(c).toUpperCase();
sb = sb.replace(index + 1, index + 2, ss);
System.out.println(sb.toString());
#7
第四题
//生成指定长度的随机字符串
public static String createRandomString(int length) {
char ch[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', '0', '1' };
Random random = new Random();
if (length > 0) {
int index = 0;
char[] temp = new char[length];
int num = random.nextInt();
for (int i = 0; i < length % 5; i++) {
temp[index++] = ch[num & 63];
num >>= 6;
}
for (int i = 0; i < length / 5; i++) {
num = random.nextInt();
for (int j = 0; j < 5; j++) {
temp[index++] = ch[num & 63];
num >>= 6;
}
}
return new String(temp, 0, length);
}
else if (length == 0) {
return "";
}
else {
throw new IllegalArgumentException();
}
}
public static void main(String[] args) {
String tenLength = "";
int length = 10000;
String strTime = "";
long s = System.currentTimeMillis();
for (int i = 0;i < length;i++){
tenLength = createRandomString(10);
strTime += tenLength;
}
System.out.println("String use : " + (System.currentTimeMillis() - s) +"ms." + strTime);
StringBuffer sbTime = new StringBuffer();
s = System.currentTimeMillis();
for (int i = 0;i < length;i++){
tenLength = createRandomString(10);
sbTime.append(tenLength);
}
System.out.println("StringBuffer use : " + (System.currentTimeMillis() - s) +"ms." + sbTime);
}
//生成指定长度的随机字符串
public static String createRandomString(int length) {
char ch[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', '0', '1' };
Random random = new Random();
if (length > 0) {
int index = 0;
char[] temp = new char[length];
int num = random.nextInt();
for (int i = 0; i < length % 5; i++) {
temp[index++] = ch[num & 63];
num >>= 6;
}
for (int i = 0; i < length / 5; i++) {
num = random.nextInt();
for (int j = 0; j < 5; j++) {
temp[index++] = ch[num & 63];
num >>= 6;
}
}
return new String(temp, 0, length);
}
else if (length == 0) {
return "";
}
else {
throw new IllegalArgumentException();
}
}
public static void main(String[] args) {
String tenLength = "";
int length = 10000;
String strTime = "";
long s = System.currentTimeMillis();
for (int i = 0;i < length;i++){
tenLength = createRandomString(10);
strTime += tenLength;
}
System.out.println("String use : " + (System.currentTimeMillis() - s) +"ms." + strTime);
StringBuffer sbTime = new StringBuffer();
s = System.currentTimeMillis();
for (int i = 0;i < length;i++){
tenLength = createRandomString(10);
sbTime.append(tenLength);
}
System.out.println("StringBuffer use : " + (System.currentTimeMillis() - s) +"ms." + sbTime);
}
#8
StringBuffer 用时少
#9
七楼第四题全解,五楼第五题提示,去看看String类和StringBuffer的常用方法就知道了
#10
public class Test{
public static void main(String[] args){
String str = "Nature has given us that two ears, two eyes, and but one tongue, to the end that we should hear and see more than we speak";
System.out.println(str);
System.out.println(str.replaceAll("(^.*)(?<=\\b)two(?=\\b)","$1Two"));
}
}
#11
indexOf获取最后一个two的位置,将获得的索引位置的字母变大写toUpperCase
#12
String name="sadasdastwosadasdasdastwoasdasdasdtwopp";
StringBuffer sb = new StringBuffer(name);
int s =name.lastIndexOf("two");
sb.replace(s, s+1, name.substring(s, s+1).toUpperCase());
StringBuffer sb = new StringBuffer(name);
int s =name.lastIndexOf("two");
sb.replace(s, s+1, name.substring(s, s+1).toUpperCase());
#13
String str = "Nature has given us that two ears, two eyes, and but";
int index = str.lastIndexOf("two");
String t = str.substring(index,index+1);
System.out.println(t.toUpperCase());
int index = str.lastIndexOf("two");
String t = str.substring(index,index+1);
System.out.println(t.toUpperCase());
#14
#第4题:String与StringBuffer的性能区别?
答:使用String每次相加都会产生临时字符串,如果拼接10000个临时字符串,会产生将近2万个临时字符串,非常耗内存.而StringBuffer则
没有这个问题,StringBuffer是线程安全的,适合多线程.如果是单线程环境建议使用StringBuilder
//#第5题:
public static void main(String[] args)
{
String str="Nature has given us that two ears,two eyes,and but one tongue,"
+ "to the end that we should hear and see more than we speak";
int index=str.lastIndexOf("two");
char ch=str.charAt(index);
StringBuilder stringBuilder=new StringBuilder();
stringBuilder=stringBuilder.append(str.substring(0, index)).append(Character.toUpperCase(ch)).append(str.substring(index+1));
System.out.println(stringBuilder);
}
答:使用String每次相加都会产生临时字符串,如果拼接10000个临时字符串,会产生将近2万个临时字符串,非常耗内存.而StringBuffer则
没有这个问题,StringBuffer是线程安全的,适合多线程.如果是单线程环境建议使用StringBuilder
//#第5题:
public static void main(String[] args)
{
String str="Nature has given us that two ears,two eyes,and but one tongue,"
+ "to the end that we should hear and see more than we speak";
int index=str.lastIndexOf("two");
char ch=str.charAt(index);
StringBuilder stringBuilder=new StringBuilder();
stringBuilder=stringBuilder.append(str.substring(0, index)).append(Character.toUpperCase(ch)).append(str.substring(index+1));
System.out.println(stringBuilder);
}
#15
System.out.println("T")
#1
就是考stringbuilder的用法啊。。
public static void main(String[] args) {
String word = "two", target = "Two";
String str = "Nature has given us that two ears, two eyes, and but...";
StringBuilder stringBuilder = new StringBuilder(str.length());
stringBuilder.append(str);
int index = str.lastIndexOf(word);
stringBuilder = stringBuilder.replace(index, index + word.length(), target);
System.out.println(stringBuilder.toString());
}
#2
System.out.println("Nature has given us that two ears, Two eyes, and but one tongue, to the end that we should hear and see more than we speak.");
#3
String str = "Nature has given us that two ears, two eyes, and but one tongue, to the end that we should hear and see more than we speak";
int index = str.lastIndexOf(" two ");
String str1 = str.substring(0, index + 1);
String str2 = str.substring(index + 1, index + 2);
String str3 = str.substring(index + 2);
String newStr = str1.concat(str2.toUpperCase()).concat(str3);
System.out.println(newStr);
#4
学过string类就可以写了
#5
Java中字符串中子串的查找共有四种方法,如下:
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
很清楚了吧
利用lastindexof
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
很清楚了吧
利用lastindexof
#6
优化一下
String str = "Nature has given us that two ears, two eyes, and but one tongue, to the end that we should hear and see more than we speak";
StringBuffer sb = new StringBuffer(str);
int index = str.lastIndexOf(" two ");
char c = str.charAt(index + 1);
String ss = String.valueOf(c).toUpperCase();
sb = sb.replace(index + 1, index + 2, ss);
System.out.println(sb.toString());
#7
第四题
//生成指定长度的随机字符串
public static String createRandomString(int length) {
char ch[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', '0', '1' };
Random random = new Random();
if (length > 0) {
int index = 0;
char[] temp = new char[length];
int num = random.nextInt();
for (int i = 0; i < length % 5; i++) {
temp[index++] = ch[num & 63];
num >>= 6;
}
for (int i = 0; i < length / 5; i++) {
num = random.nextInt();
for (int j = 0; j < 5; j++) {
temp[index++] = ch[num & 63];
num >>= 6;
}
}
return new String(temp, 0, length);
}
else if (length == 0) {
return "";
}
else {
throw new IllegalArgumentException();
}
}
public static void main(String[] args) {
String tenLength = "";
int length = 10000;
String strTime = "";
long s = System.currentTimeMillis();
for (int i = 0;i < length;i++){
tenLength = createRandomString(10);
strTime += tenLength;
}
System.out.println("String use : " + (System.currentTimeMillis() - s) +"ms." + strTime);
StringBuffer sbTime = new StringBuffer();
s = System.currentTimeMillis();
for (int i = 0;i < length;i++){
tenLength = createRandomString(10);
sbTime.append(tenLength);
}
System.out.println("StringBuffer use : " + (System.currentTimeMillis() - s) +"ms." + sbTime);
}
//生成指定长度的随机字符串
public static String createRandomString(int length) {
char ch[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', '0', '1' };
Random random = new Random();
if (length > 0) {
int index = 0;
char[] temp = new char[length];
int num = random.nextInt();
for (int i = 0; i < length % 5; i++) {
temp[index++] = ch[num & 63];
num >>= 6;
}
for (int i = 0; i < length / 5; i++) {
num = random.nextInt();
for (int j = 0; j < 5; j++) {
temp[index++] = ch[num & 63];
num >>= 6;
}
}
return new String(temp, 0, length);
}
else if (length == 0) {
return "";
}
else {
throw new IllegalArgumentException();
}
}
public static void main(String[] args) {
String tenLength = "";
int length = 10000;
String strTime = "";
long s = System.currentTimeMillis();
for (int i = 0;i < length;i++){
tenLength = createRandomString(10);
strTime += tenLength;
}
System.out.println("String use : " + (System.currentTimeMillis() - s) +"ms." + strTime);
StringBuffer sbTime = new StringBuffer();
s = System.currentTimeMillis();
for (int i = 0;i < length;i++){
tenLength = createRandomString(10);
sbTime.append(tenLength);
}
System.out.println("StringBuffer use : " + (System.currentTimeMillis() - s) +"ms." + sbTime);
}
#8
StringBuffer 用时少
#9
七楼第四题全解,五楼第五题提示,去看看String类和StringBuffer的常用方法就知道了
#10
public class Test{
public static void main(String[] args){
String str = "Nature has given us that two ears, two eyes, and but one tongue, to the end that we should hear and see more than we speak";
System.out.println(str);
System.out.println(str.replaceAll("(^.*)(?<=\\b)two(?=\\b)","$1Two"));
}
}
#11
indexOf获取最后一个two的位置,将获得的索引位置的字母变大写toUpperCase
#12
String name="sadasdastwosadasdasdastwoasdasdasdtwopp";
StringBuffer sb = new StringBuffer(name);
int s =name.lastIndexOf("two");
sb.replace(s, s+1, name.substring(s, s+1).toUpperCase());
StringBuffer sb = new StringBuffer(name);
int s =name.lastIndexOf("two");
sb.replace(s, s+1, name.substring(s, s+1).toUpperCase());
#13
String str = "Nature has given us that two ears, two eyes, and but";
int index = str.lastIndexOf("two");
String t = str.substring(index,index+1);
System.out.println(t.toUpperCase());
int index = str.lastIndexOf("two");
String t = str.substring(index,index+1);
System.out.println(t.toUpperCase());
#14
#第4题:String与StringBuffer的性能区别?
答:使用String每次相加都会产生临时字符串,如果拼接10000个临时字符串,会产生将近2万个临时字符串,非常耗内存.而StringBuffer则
没有这个问题,StringBuffer是线程安全的,适合多线程.如果是单线程环境建议使用StringBuilder
//#第5题:
public static void main(String[] args)
{
String str="Nature has given us that two ears,two eyes,and but one tongue,"
+ "to the end that we should hear and see more than we speak";
int index=str.lastIndexOf("two");
char ch=str.charAt(index);
StringBuilder stringBuilder=new StringBuilder();
stringBuilder=stringBuilder.append(str.substring(0, index)).append(Character.toUpperCase(ch)).append(str.substring(index+1));
System.out.println(stringBuilder);
}
答:使用String每次相加都会产生临时字符串,如果拼接10000个临时字符串,会产生将近2万个临时字符串,非常耗内存.而StringBuffer则
没有这个问题,StringBuffer是线程安全的,适合多线程.如果是单线程环境建议使用StringBuilder
//#第5题:
public static void main(String[] args)
{
String str="Nature has given us that two ears,two eyes,and but one tongue,"
+ "to the end that we should hear and see more than we speak";
int index=str.lastIndexOf("two");
char ch=str.charAt(index);
StringBuilder stringBuilder=new StringBuilder();
stringBuilder=stringBuilder.append(str.substring(0, index)).append(Character.toUpperCase(ch)).append(str.substring(index+1));
System.out.println(stringBuilder);
}
#15
System.out.println("T")