Ich habe ein Problem mit meiner Java-Anwendung. Die Anwendung erforderlich, um die folgenden Funktionen ausführen:Fehler in Java-App mit Scanner. Next() vs NextLine() und warum bekomme ich einen Fehler?
(1) fordert den Benutzer für eine Zeichenfolge, die durch ein Komma getrennt zwei Strings enthält. (1 pt)
Beispiele für Strings, die akzeptiert werden können: Jill, All Jill, All Jill, Alle Ex:
Eingabezeichenfolge eingeben: Jill, All
(2) Bericht ein Fehler, wenn die Eingabezeichenfolge kein Komma enthält. Setzen Sie fort, bis ein gültiger String eingegeben wird. Hinweis: Wenn die Eingabe ein Komma enthält, wird davon ausgegangen, dass die Eingabe auch zwei Zeichenfolgen enthält. (2 Punkte)
Ex:
eingeben Eingabestring: Jill Aller Fehler: kein Komma in string Eingabestring eingeben: Jill, All
(3) Entpacken Sie die beiden Worte aus dem Eingabestring und entfernen Sie alle Leerzeichen. Speichern Sie die Zeichenfolgen in zwei separaten Variablen und geben Sie die Zeichenfolgen aus. (2 pts)
Ex:
eingeben Eingabestring: Jill, Alle Erstes Wort: Jill Zweites Wort: All
(4) eine Schleife erstrecken, um das Programm auf mehrere Zeilen Griff Eingang. Fahren Sie fort, bis der Benutzer q zum Beenden eingibt.(2 Punkte)
Ex:
Eingabezeichenfolge eingeben: Jill, Alle Erstes Wort: Jill Zweites Wort: All
Eingabezeichenfolge eingeben: Golden, Affe Erstes Wort: Goldenes Zweites Wort : Affe
Geben Sie Eingabestring: Washington, DC Erstes Wort: Washington Zweites Wort: DC
eingeben Eingabestring: q
Mein Code:
package parsestrings;
import java.util.Scanner;
public class ParseStrings {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in); // Input stream for standard input
Scanner inSS = null; // Input string stream
String lineString = ""; // Holds line of text
String firstWord = ""; // First name
String secondWord = ""; // Last name
boolean inputDone = false; // Flag to indicate next iteration
// Prompt user for input
System.out.println("Enter input string: ");
// Grab data as long as "Exit" is not entered
while (!inputDone) {
// Entire line into lineString
lineString = scnr.next();
// Create new input string stream
inSS = new Scanner(lineString);
// Now process the line
firstWord = inSS.next();
// Output parsed values
if (firstWord.equals("q")) {
System.out.println("Exiting.");
inputDone = true;
if (firstWord.matches("[a-zA-Z]+,[a-zA-Z]+")) {
System.out.print("Input not two comma separated words");
}
} else {
secondWord = inSS.next();
System.out.println("First word: " + firstWord);
System.out.println("Second word: " + secondWord);
System.out.println();
}
}
return;
}
}
Der Fehler Im zurück bekommen:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1371)
at parsestrings.ParseStrings.main(ParseStrings.java:53)
Java Result: 1
@Adro Bitte lesen Sie: [Was soll ich tun, wenn jemand meine Frage beantwortet?] (Https://stackoverflow.com/help/someone-answers) –