2017-08-08 57 views
-2
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上的教程,並且我的代碼看起來是相同的,儘管可能是導致此問題的一個小細節。有誰知道爲什麼我的控制檯不會停止在我的while循環內打印?

問題 - http://imgur.com/a/ldiBD

解決 - 它似乎日食是罪魁禍首,儘管重新啓動它已經重新啓動它似乎再次做的伎倆。

+0

'System.exit(0);'是非常無用//此處while循環去運行,因爲是真實的,你永遠不其設置爲false,所以它繼續^^ – azro

+0

我已經將它設置爲false,似乎是在做同樣的 –

+0

當我說它使印刷我的意思是重複的,我希望它運行,但它是連續 –

回答

1

因爲你永遠不會改變runningfalse

在開關塊的某個位置,您需要將運行的變量更改爲false。

running = false; 

才把while循環將遭到終止

+0

我有點不好解釋,我希望它運行,但它一直在打印,並在 –

+0

它使打印過什麼,在 –

+0

HTTP:// imgur。 COM/A/ldiBD –

相關問題