写一个Java程序,将用户输入的句子当中每一个单词的第一个字母大写,而单词中的其余字母小写。
要求:程序运行后要求用户输入一个句子。然后提取每一个单词,并将单词的首字母转换成大写,其余字符小写。使用StringBuffer类来创建替换过大小写的新字符串。最后输出新字符串。
提示:需要使用Scanner的nextLine()方法来获取一个句子。注意:单词的分割符除了空格之外,还可能有Tab或者(,;.等标点符号)。注意判断首字符是不是字母。单词中的其他字母可能为大写。
例如:当用户输入”This is a samPLe sentencE to demostrATE the TasK 2.”
程序应该输出:This Is A Sample Sentence To Demonstrate The Task 2.
代码如下
package CaseSubstitution;
import java.util.Scanner;
/**
*
* @author 芳芳
*
*/
public class CaseSubstitution {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
System.out.println("please input a string:");
String s = input.nextLine();
System.out.println("converted result is as follows:");
si(s);
}
private static void si(String s) {
String[] split = s.split(" ");
//按空格分隔成数组
for (int i = 0; i <split.length ; i++) {
// .substring(0,1) 截取数组的首字母 +split[i].substring(1); 再加上后面
String s2 = split[i].substring(0, 1).toUpperCase()+split[i].substring(1);
System.out.print(s2+" ");
}
}
}