给出一句英文句子: “let there be light”
得到一个新的字符串,每个单词的首字母都转换为大写
思路一:循环使用indexOf(,)依次找到找到目标字符串的位置,用substring截取目标字符串,然后修改替换
package Fengzhaung;
public class domm {
public static void main(String[] args) {
String str = "let there be light";
int n=0;
do{
String c1=str.substring(n,n+1);//截取首部字母
String c2=c1.toUpperCase();//c2是首部字母变为大写
if(n==0){
str=str.replaceFirst(c1,c2);
}else {
str=str.replaceFirst(" "+c1," "+c2);//其实一样
}
int n1=str.indexOf(' ',n);//找到空格的位置 let there 字符串之间的空格位置
//找到下一个首字母,indexOf找不到时返回-1
n=n1+1;
} while(n!=0);
System.out.println(str);
}
}
思路二:定义方法,通过split分割成几个字符串,在取字符串首部转换大小写
package Fengzhaung;
public class domm1 {
//定义首部大写字母方法
public static String capital(String str) {
String newstring="";
String[] subsentence=str.split(" ");//把字符串通过空格分成几个存入字符串数组
String change="";
// for (String sub :subsentence){
// String a=sub.substring(0,1); //取字符串的首部
// change=sub.replace(a,a.toUpperCase());//改变大小写
// newstring=newstring+change+" ";
// }
// return newstring;
for (int i = 0; i <subsentence.length ; i++) {
String a=subsentence[i].substring(0,1);//取首部
change=subsentence[i].replace(a,a.toUpperCase());
newstring+=change+" ";
}
return newstring;
}
public static void main(String[] args) {
String sentence ="let there be light";
System.out.println(sentence);
System.out.println(capital(sentence));
}
}