例题实战
在实际的开发工作中,对字符串的处理是最常见的编程惹怒我。本题目即是要求程序对用户输入的串进行处理。具体规则如下:
1 把每个单词的首字母变成大写
2 把数字与字母之间用下划线字符(_)分开,使得更清晰
3 把单词中间有多个空格的调整为一个空格
输入描述
用户输入的串中只有小写字母,空格和数字,不含其他的字母或符号。每个单词间有1个或多个空格分隔。假设用户输入的串长度不符合200个字符。
示例输入
you are me what cpp2005program
输出
You And Me What Cpp_2005_program
代码
package Accommodate; import java.util.*; public class Main4 { public static void main(String args[]) { Scanner scan=new Scanner(System.in); String str=scan.nextLine(); char []c=str.toCharArray();//转换成数组 int n=c.length; StringBuilder st=new StringBuilder(); int i=0; while (i<n) { char x=c[i]; if(x>='a'&&x<='z') { if(i==0||c[i-1]==' ') { x^=32; } st.append(x); i++; } else if(x==' ') { st.append(x); while(c[i]==' ')i++; } else { if(i>0&&c[i-1]>='a'&&c[i-1]<='z') st.append('_'); st.append(x); if(i+1<n&&c[i+1]>='a'&&c[i+1]<='z') st.append('_'); i++; } } System.out.print(st); } }