有谁知道为什么我的控制台不会在我的while循环中停止打印?

时间:2017-08-08 19:06:37

标签: java

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上的一个教程,我的代码似乎是相同的,虽然可能是一个小细节造成了这个。

问题 - http://imgur.com/a/ldiBD

已解决 - 看来eclipse应该受到责备,尽管重新启动它已经重新启动它似乎已经完成了这个伎俩。

1 个答案:

答案 0 :(得分:1)

因为您永远不会将running更改为false

在切换块的某处,您需要将运行的变量更改为false。

running = false;

只有这样while循环才会被终止