2013-11-03 48 views
-1

因此,我應該做一個「爭奪」遊戲,要求用戶輸入一個單詞,然後該程序會對第二個用戶猜測的單詞進行爭奪。如何在java中停止這個無限循環?

import java.util.*; 

class scrabble { 
public static void main(String args[]){ 
    Scanner input = new Scanner(System.in); 

    System.out.println("Enter a word: "); 
    String abc = input.nextLine(); 

    String scrambled = ""; 
    Random randGen = new Random(); 

    while(scrambled.length() != abc.length()) 
    { 
     char rand = abc.charAt(randGen.nextInt(abc.length())); 
     if(!scrambled.contains("" + rand)) 
      scrambled += rand; 
    } 

    System.out.println(scrambled); 


} 
} 

輸出: 輸入一個單詞: 計算機 emotucrp

但是,如果我輸入單詞 「繼續」,程序進入一個無限循環。

+2

您的代碼不適用於多次使用相同字母的單詞。繼續包含兩個字母'n'。 – Jeffrey

+1

「繼續」有兩個'n's。 –

+3

嘗試調試它。你會更多地學習。 –

回答

1

continue這個詞在其中有兩個n s,所以你的程序不會將第二個n添加到亂碼字符串中,因此永遠不會停止。 This question here有各種代碼示例來打亂你想要做的單詞。