给出一句英文句子: “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找不到时返回-1n=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));}}