對於我的Java功課,我需要創建一個腳本,返回字符串中的第一個字,並且,作爲第二部分,我還需要返回第二個字。我目前正在研究第一部分,我認爲我很接近,但是我也想知道是否我的代碼稍微複雜了一些。我在Java中簡單解決一個簡單的解決方案嗎?
public static void statements(){
Scanner userInput = new Scanner(System.in);
char [] sentenceArray;
String userSentence;
char sentenceResult;
System.out.print("Enter a complete sentence: ");
userSentence = userInput.nextLine();
for(int x = 0; x < userSentence.length(); x++){
sentenceResult = userSentence.charAt(x);
sentenceArray = new char[userSentence.length()];
sentenceArray[x] = sentenceResult;
if(sentenceArray[x] != ' '){
System.out.print(sentenceArray[x]);
//break; This stops the code at the first letter due to != ' '
}
}
}
我想我已經差不多了。我所需要做的只是當for循環識別有空格時退出,但它無論如何打印出整個消息。我只是好奇,如果這可以做得更簡單一點,以及也許暗示我可以做什麼,或者如何完成。
編輯:我能得到的分配使用拆分方法完成。這就是它現在看起來像
public static void statements(){
Scanner userInput = new Scanner(System.in);
String userSentence;
System.out.print("Enter a complete sentence: ");
userSentence = userInput.nextLine();
String [] sentenceArray = userSentence.split(" ");
System.out.println(sentenceArray[0]);
System.out.println(sentenceArray[1]);
}
}
爲什麼不使用'Scanner.next()'? – shmosel
掃描儀對此最適合。您只需將字符串傳遞給構造函數,然後再讀取。下一個最好的選擇是將輸入分割爲\ s +'空格。 – Tezra
不知道需求是什麼(你沒有提到任何),但如果你可以使用庫函數請參閱https://stackoverflow.com/a/7683463/1566187的[ – Elyasin