字串中英文單詞開頭字元大小寫轉換
阿新 • • 發佈:2019-01-01
華為2016年實習生招聘筆試題:輸入一個英文句子的字串,修改每個英文單詞的首字母的大小寫,即大寫改為小寫,小寫改為大寫,並返回修改後的字串
package com.javaexam.test; import java.util.Scanner; public class CharExchange { public static void main(String[] args){ Scanner in = new Scanner(System.in); while(in.hasNext()){ String str = in.nextLine();//將整行字串讀入 int index = 0; String result = ""; while(index<str.length()){ int i = str.indexOf(" ",index);//獲取單詞之間的空格位置 String aa; String cc = ""; if(i!=-1){ aa = str.substring(index,i);//擷取空格與空格之間的字串,即一個英文單詞 char c = aa.charAt(0);//獲得首字元的字元 if(Character.isLowerCase(c)){//判斷首字母是否為小寫,是則改為大寫,並拼回字串中 cc = Character.toUpperCase(c) + aa.substring(1) + " "; }if(Character.isUpperCase(c)){//判斷首字元是否為大寫,是則改為小寫 cc = Character.toLowerCase(c) + aa.substring(1) + " "; } index = i+1; }else{ aa = str.substring(index);//最後一個單詞只有前面有空格,後面沒有空格,因此此處擷取最後一個單詞 char c = aa.charAt(0); if(Character.isLowerCase(c)){ cc = Character.toUpperCase(c) + aa.substring(1); }if(Character.isUpperCase(c)){ cc = Character.toLowerCase(c) + aa.substring(1); } index = str.length(); } result = result + cc; } System.out.println(result); } } }