package libraryhelp;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Scanner;
public class MainSystem {
static String fileName = null;
static Library lib = new Library();
static Scanner in = new Scanner(System.in);
static Boolean running = true;
public static void main(String[] args) {
while(running) {
System.out.println("\nEnter = for load a library."
+ "\nEnter 1 for save and quit"
+ "\nenter 2 for list all books in library"
+ "\nEnter 3 for add book to library");
int answer = in.nextInt();
switch(answer) {
case 0:
System.out.println("Enter the file name to load);");
loadScript(fileName);
break;
case 1:
saveAndQuit();
break;
case 2:
System.out.println(lib.toString());
break;
case 3:
addBook();
break;
}
}
System.exit(0);
}
当我尝试运行我的程序时,似乎只是继续打印system.out.println,有谁知道为什么会这样?我正在关注youtube上的一个教程,我的代码似乎是相同的,虽然可能是一个小细节造成了这个。
已解决 - 看来eclipse应该受到责备,尽管重新启动它已经重新启动它似乎已经完成了这个伎俩。
答案 0 :(得分:1)
因为您永远不会将running
更改为false
。
在切换块的某处,您需要将运行的变量更改为false。
running = false;
只有这样while
循环才会被终止