小白的日常(1)OJ英文縮寫問題
題目描述
對給定的英文短語寫出它的縮寫,比如我們經常看到的SB就是Safe Browsing的縮寫。
輸入
輸入的第一行是一個整數T,表示一共有T組測試資料。
接下來有T行,每組測試資料佔一行,每行有一個英文短語,每個英文短語由一個或多個單片語成;每組的單詞個數不超過10個,每個單詞有一個或多個大寫或小寫字母組成;
單詞長度不超過10,由一個或多個空格分隔這些單詞。
輸出
請為每組測試資料輸出規定的縮寫,每組輸出佔一行。
樣例輸入
1 end of file
樣例輸出
EOF
import java.util.*; public class Main{ public static void main(String[] args){ Scanner input=new Scanner(System.in); while(input.hasNext()){ int N=input.nextInt(); input.nextLine(); while(N-->0){ String str=input.nextLine(); for(int i=0;i<str.length();i++){ if((i==0||str.charAt(i-1)==' ')&&str.charAt(i)!=' '){//重點理解 char c=str.charAt(i); System.out.print((char)(c>='a'&&c<='z'?c-32:c)); } } System.out.println(); } } } }
其中while(input.hasNext())是我們學校Oj規定的格式
作用:input.hasNext(),表示你是否輸入資料,只要你輸入資料,它就相當於while(1)+ input.next(),當你輸入資料時,它就返回true,想要停下來,可以呼叫hasNext()的過載方法hasNext(String patten),
例如while(!input.hasNext("quit")),當輸入quit時停止迴圈
As far as I'm concerned,nothing is more important that
劃重點:
1:把所有條件都想全了什麼時候獲取單詞首字母並輸出::第一個字母不為空格時和某處前一個是空格且該處不為空格時,將該處輸出
2.
int N=input.nextInt(); input.nextLine(); while(N-->0){ String str=input.nextLine(); 此處的input.nextLine();語句是一個挺坑人的地方,當nextInt()後接nextLine()會出現錯誤後者會混到前者的輸入當中,詳解自行百度