在實際的開發工作中,對字串的處理是最常見的程式設計任務。本題目即是要求程式對使用者輸入的串進行處理。具體規則如下: (1)把每個單詞的首字母變為大寫。 (2)把數字與字母之間用下劃線字元(_)分開,使得更
阿新 • • 發佈:2018-11-19
在實際的開發工作中,對字串的處理是最常見的程式設計任務。本題目即是要求程式對使用者輸入的串進行處理。具體規則如下:
(1)把每個單詞的首字母變為大寫。
(2)把數字與字母之間用下劃線字元(_)分開,使得更清晰;
(3)把單詞中間有多個空格的調整為1個空格。
我們假設:使用者輸入的串中只有小寫字母,空格和數字,不含其它的字母或符號。每個單詞間由1個或多個空格分隔。假設使用者輸入的串長度不超過200個字元。
全部採用Java的string類,非常方便。
注意substring以及concat的使用
package four; import java.util.*; public class Shou { public static void main(String[] args) { Scanner cin=new Scanner(System.in); String s=cin.nextLine(); String []a=new String [100]; int t=0; StringTokenizer st = new StringTokenizer(s," ");//提取空格,提取單個單詞 while(st.hasMoreElements()) { a[t]=(String) st.nextElement();//將提取的單詞存入到數組裡 t++;} for (int i=0;i<t;i++) { a[i]=a[i].substring(0,1).toUpperCase().concat(a[i].substring(1));//將首字母變成大寫 for(int j=0;j<a[i].length()-1;j++){ char b=a[i].charAt(j); char c=a[i].charAt(j+1);//判斷是否出現數字和字母相連的地方,加上— if((Character.isDigit(b)&&Character.isLetter(c))||(Character.isDigit(c)&&Character.isLetter(b))){ a[i]=a[i].substring(0,j+1)+"_"+a[i].substring(j+1); } } System.out.print(a[i]+" "); } cin.close(); } }