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,"-"));
}
}