Java 小程序 01
输入一个字符串,将每一个单词首字母大写
1.首先写一个接收传入的单词,并将传入单词首字母大写。这一步比较简单,没什么好说的!
private String titleCase (String str) {
//转换操作,将传入的字符串的首字母取出后转换为大写,然后在传回
String s = str.charAt(0)+"";
s=s.toUpperCase();
str=s+str.substring(1);
return str;
}
2.写接收一个需要将每个单词首字母改为大写的字符串和分隔字符串的符号,都是String类型。然后通过split() 方法将字符串语句str分隔成单词,存储在array数组中,通过for循环,将分隔好的单词传入titleCase ()中,然后通过创建StringBuilder 来存储修改好的单词。
public String transformation(String str,String character) {
//将传入的字符串已给定的字符串切割,然后进行处理
String[] array = str.split(character);
StringBuilder sbu = new StringBuilder();
for (int i = 0; i < array.length; i++) {
if(i!=0)
sbu.append(" ");
sbu.append(titleCase(array[i]));
}
return sbu.toString();
}
以上两个主要方法
下面是完整实现代码:
import java.util.*;
@SuppressWarnings("resource")
public class StringTransformation {
private String str ;
public StringTransformation(String str, String character) {
inspect(str);
inspect(character);
this.str=transformation(str, character);
}
public String transformation(String str,String character) {
//将传入的字符串已给定的字符串切割,然后进行处理
String[] array = str.split(character);
StringBuilder sbu = new StringBuilder();
for (int i = 0; i < array.length; i++) {
if(i!=0)
sbu.append(" ");
sbu.append(titleCase(array[i]));
}
return sbu.toString();
}
private String titleCase (String str) {
//转换操作,将传入的字符串的首字母取出后转换为大写,然后在传回
String s = str.charAt(0)+"";
s=s.toUpperCase();
str=s+str.substring(1);
return str;
}
private void inspect(String str) {
if(str.length()<=0) {
throw new IllegalArgumentException("字符串输入错误");
}
}
@Override
public String toString() {
return this.str;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入一个字符串,并用-作为分隔");
String str = in.next();
System.out.println(new StringTransformation(str,"-"));
}
}