1. 程式人生 > >在實際的開發工作中,對字串的處理是最常見的程式設計任務。本題目即是要求程式對使用者輸入的串進行處理。具體規則如下: (1)把每個單詞的首字母變為大寫。 (2)把數字與字母之間用下劃線字元(_)分開,使得更

在實際的開發工作中,對字串的處理是最常見的程式設計任務。本題目即是要求程式對使用者輸入的串進行處理。具體規則如下: (1)把每個單詞的首字母變為大寫。 (2)把數字與字母之間用下劃線字元(_)分開,使得更

在實際的開發工作中,對字串的處理是最常見的程式設計任務。本題目即是要求程式對使用者輸入的串進行處理。具體規則如下:

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();
}
}