gpt4 book ai didi

java - 检查数组中的唯一数字并循环返回

转载 作者:行者123 更新时间:2023-12-02 00:33:52 26 4
gpt4 key购买 nike

我目前正在尝试编写一个程序,要求用户输入一个三位数,并将其与计算机生成的随机三位数进行检查。用户输入的号码必须具有三个唯一的数字,因为计算机号码也具有三个唯一的数字。到目前为止,我已经设法将用户的三位数放入一个数组中,每个数组位置只有一位数字,但我无法正确验证它。它能够识别两个数字相同,因此需要向用户询问具有 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

最佳答案

通过记录唯一编号检查是否有任何数字匹配,然后在唯一编号检查 > 0 时将整个事情放入 do/while 循环中解决了问题。我确信这不是最优雅的修复,但它有效并且会起作用。

do{
uniqueCheck = 0;
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 loop = 0; loop < userNumber.length; loop++){
for(int innerLoop = 0; innerLoop < userNumber.length; innerLoop++) {
if(loop != innerLoop) {
if (userNumber[loop] == userNumber[innerLoop] ){
JOptionPane.showMessageDialog(null, "Please enter three unique digits!", "ERROR", JOptionPane.ERROR_MESSAGE);
uniqueCheck ++;
} // end inner IF loop
} // end outer IF loop
} // end inner for loop
} // end outer for loop

} while (uniqueCheck > 0);

关于java - 检查数组中的唯一数字并循环返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8304424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com