私はJavaには新しいので、私のコードでどこが間違っているのか分かりません。プログラムは、カンマで1つの文字列として2つの単語を入力し、カンマなしで2つの別々の単語として出力することになっています。コンマもない場合は、エラーメッセージを出力することになっています。 "q"を入力するとプログラムが終了します。これは、 "q"が入力されたときに完全に機能します。コンマ入力があった場合にJavaはそのような要素の例外がありません
またException in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1540)
at ParseStrings.main(ParseStrings.java:16)
、プログラムが動作しませんが、私は一部をコメントアウトする場合:また、コンマがない場合、しかし、それは次のエラーメッセージを追加し、出力した後に動作しますコード内のカンマについては、動作しますが、上記のエラーメッセージが表示されます。私の誤りを私に見せるための助けに感謝します。ここでは、コードは次のとおりです。
import java.util.Scanner;
public class ParseStrings {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String userInput = "";
String firstWord = "";
String secondWord = "";
boolean inputDone = false;
boolean noComma = false;
System.out.println("Enter input string or q to quit: ");
while (!inputDone) {
userInput = scnr.nextLine();
if (userInput.equals("q")) {
System.out.println(" Exiting.");
inputDone = true;
}
else {
while (!noComma) {
if (userInput.indexOf(',') < 0) {
System.out.println("Error: No comma in string");
noComma = true;
}
else {
firstWord = userInput.substring(0, userInput.indexOf(','));
firstWord = firstWord.trim();
secondWord = userInput.substring(userInput.indexOf(',') + 1, userInput.length());
secondWord = secondWord.trim();
System.out.println("First word: " + firstWord);
System.out.println("Second word: " + secondWord);
System.out.println();
}
}
}
}
return;
}
}
エラーが発生したときにデバッガを使用してプログラム状態を評価しようとしましたか? – dave
このコードを実行すると、記述したエラーメッセージが表示されません。無限ループになります。 –
デイブ、コードを一歩進んだことはありませんでした。それはおそらく私の最初のトラブルシューティングのステップだったはずです。私は今からやります。ありがとう! – TedC