Ich versuche, ein Programm zu machen, die die Textdatei druckt simple.txt
jedes Mal, drückt der Benutzer „c“, aber mit meinem Code, wird es nur einmal drucken:Wiederholen Datei Drucken Scanner verwenden
public static void main(String[] args) throws FileNotFoundException {
Scanner console = new Scanner(System.in);
Scanner fileSearch = new Scanner(new File("simple.txt"));
UI(console, fileSearch);
}
public static void UI (Scanner console, Scanner fileSearch) {
String choice = "Start";
while (!choice.equals("q")) {
System.out.print("(C)reate mad-lib, (V)iew mad-lib, (Q)uit? ");
choice = console.next();
choice = choice.toLowerCase();
if (choice.equals("c")) {
System.out.println("Create");
CreateMadLibs(fileSearch);
} else if (!choice.equals("q")) {
System.out.println("I don't understand.");
}
}
}
public static File FileGrab (Scanner fileSearch) {
File thing = new File(fileSearch.next());
while (fileSearch.hasNextLine()){
System.out.println(fileSearch.nextLine());
}
return thing;
}
public static void CreateMadLibs (Scanner fileSearch) {
FileGrab(fileSearch);
}
I denke, das Problem ist, dass ich den Scanner fileSearch
in Main statt in UI
erstellen. Ich versuchte, fileSearch
in der if
Anweisung zu initialisieren, aber das gab mir eine fileNotFoundException. Wie bekomme ich diese:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1371)
at test.FileGrab(test.java:28)
at test.CreateMadLibs(test.java:36)
at test.UI(test.java:20)
at test.main(test.java:9)