我目前正在寫一個程序,它要求一個三位數,並檢查其對隨機3位數字,由計算機生成的用戶。用戶輸入的號碼必須有三個唯一的數字,因爲該電腦號碼也有三個唯一的數字。 到目前爲止,我已經設法將用戶的三位數字轉換爲數組,每個數組的位置都有一位數字,但是我無法正確驗證它。它能夠識別兩個相同的數字,因此它需要向用戶詢問具有3個不同數字的新數字(即,循環回到開始),直到用戶遵守時爲止。 System.out.println僅供我檢查是否選取了兩位數字。這是我的代碼到目前爲止。這是一種方法,而不是整個程序。檢查獨特的數字數組和循環回
public static int[] getUserNumberDebugMode(String compNum){
final int RANDOM_NUMBER_SIZE = 3;
int[]userNumber = new int [RANDOM_NUMBER_SIZE];
String userGuessAsString;
userGuessAsString = JOptionPane.showInputDialog(compNum + "\n Please enter a number.");
int number = Integer.parseInt(userGuessAsString);
// put three digit number individually into array
for(int loop = (userNumber.length - 1); loop>=0; loop--){
userNumber[loop]= number%10;
number = number/10;
} // end userNumber array populating
for (int outerloop = 0; outerloop < userNumber.length; outerloop++){
for (int innerloop = outerloop - 1; innerloop > -1; innerloop --){
while (userNumber[outerloop] == userNumber [innerloop]){
System.out.println("user compare: " + outerloop + " with: " + innerloop);
} // end while loop
}// end inner loop
} // end outer loop
return userNumber;
} // end getUserNumberDebugMode
這很難閱讀,也很難理解你要求什麼。什麼不工作?你看到了什麼與你期望的是什麼?你已經嘗試了什麼? – ziesemer
目前它發現兩個數字相同時無限循環。例如,如果用戶輸入323,它應該向用戶詢問具有唯一數字的數字,如326,然後將數字放入數組並再次檢查。 – ketisfolk
我已經解決了這個問題,但以後不能發佈我的解決方案。感謝你的幫助。 – ketisfolk