2015-10-18 32 views
-2

如果在代碼中,我有兩個選擇 - 選擇1或2 - 在'2'中直接轉到另一個代碼,但是'1'之前必須做一些事情,然後執行該代碼,是一個代碼可能嗎?這是一個例子:(Java)使用一個代碼來獲得多個響應?

Scanner scanner = new Scanner(System.in); 
reader = scanner.nextInt(); 
if (reader == 1) { 
    System.out.println("Not yet, pick another one"); 
    int number = scanner.nextInt();   
} 
} else if (reader == 2) { 
    System.out.println("Okay, you have picked 2!"); 
} 

是否可以直接從第一個到第二個?如果第一次在第二次嘗試中選擇'2',是否必須重新鍵入該區域中的代碼,或者可以在此之後直接將它移動到else if(reader == 2){....}代碼?

謝謝!

回答

0

當然,只需要修改你的條件了一下:

int someVar = ...; 

if(someVar == 1){ 
    ... 
    //do stuff before other code 
} 

... 
//do stuff you do for 1 and 2 
0

不能使用別的,如果在這種情況下,因爲否則,如果第一條件是真實的部分永遠不會被評估。您需要兩個單獨的條件:

int reader = scanner.nextInt(); 
if (reader == 1){ 
    System.out.println("Not yet, pick another one"); 
    reader = scanner.nextInt();   
} 
if (reader == 2) { 
    System.out.println("Okay, you have picked 2!"); 
} 

請注意,您還必須將兩個整數讀入相同的變量。

相關問題