2014-12-05 12 views
1

好吧,我做了一個程序,但我需要能夠重新啓動程序,詢問用戶是否想再次嘗試y/n?但我似乎無法正確地循環它。幫我!對不起,格式化。Java程序循環幫助!我需要通過y/n輸入重新啓動程序

import java.util.*; 
import java.util.Scanner; 

class Tester 
{... 

    ...} 
System.out.println("y/n?"); 
String playagain = in.nextLine(); 
if (playagain == "y") 
play = true; 
else 
play = false; 
} 

} 
} 
+0

不是說它解決了任何問題,但是你不必使用'if(condition)value = true; else value = false;'而是你可以寫'value = condition;'。 – Pshemo 2014-12-05 21:18:32

回答

5

試試這個:

if ("y".equalsIgnoreCase(playagain)) 

不要使用==來比較字符串。所做的只是比較參考值。你想equals():它比較字符串內容。

0
Scanner in = new Scanner(System.in); 
String s; 
while (!(s = in.nextLine()).equalsIgnoreCase("q")) {  
    // do stuff 
    System.out.println("---");  
} 

增加了一種通過輸入「q」來退出遊戲的方式,其他輸入用新單詞重新開始遊戲,但是您也可以將其切換到y/n。 您可以將所有其餘的邏輯放在while循環中,甚至可以調用一個方法來執行它內部的邏輯。