我是一名Java新手。我在C上了一堂課,所以我試圖讓自己擺脫這種思維模式。我正在編寫的程序有一個部分,用戶輸入一個整數,n,然後n之後的字數。這部分然後搜索這些單詞並找到最短的單詞,然後將其返回給用戶。例如,輸入可能是:Java:查找字符串中的最短單詞並將其打印出來
輸入: 4 Java編程的樂趣
OUTPUT: IS
我的代碼目前似乎返回錯誤的單詞。在這種情況下,它返回「PROGRAMMING」,當它返回「IS」時。我想也許你們都可以把我指向正確的方向。
int numwords = scan.nextInt();
String sentence = scan.nextLine();
String shortestword = new String();
String[] words = sentence.split(" ");
for (int i = 0; i < numwords; i++){
if (shortestword.length() < words[i].length()){
shortestword = words[i];
}
}
System.out.printf(shortestword);
爲了給你什麼,我要怎樣做,我試圖進入的話轉換成字符串,一個想法「一句,」再破該字符串成單個單詞的數組,「字[ ],然後運行一個for循環,通過比較長度和數組中的條目來比較字符串。謝謝您的幫助!
+1。通過點擊鼠標打敗我。 :-) –
謝謝!我感到尷尬的是我的言論被顛倒過來。不幸的是,在我做出這些修改之後,我的程序沒有任何返回,而是終止。 – Batteries
發現單詞[0]實際上需要單詞[1]。感謝您邁出正確的一步! – Batteries