gpt4 book ai didi

java - 如果输入与数组列表中的数字匹配,则无法获取方法 (getTest) 返回 true boolean 方法结果

转载 作者:行者123 更新时间:2023-12-01 14:02:00 25 4
gpt4 key购买 nike

如果我的输入是另一个名为 SomeNumbers 的类中数组列表中的数字,我似乎无法获得“数字匹配”结果。如果你运行它,它会给你结果,因为它不是光速数组中的数字。

我也很难找出实际问题所在,因为我可以出于任何原因在 jGrasp 中使用我的调试工具。

这是用户输入号码以查看是否有匹配的主要应用程序。

import java.util.Scanner;

public class SomeNumbersClient {

public static void main(String[] args) {

SomeNumbers testNumbers = new SomeNumbers();

Scanner userInput = new Scanner(System.in);
System.out.print("Enter Integer Value: ");
int input = userInput.nextInt();

testNumbers.setNumber(input);

if (testNumbers.getTest()) {
System.out.println("The numbers match");
} else {
System.out.println("The numbers don't match");
}

}

}

现在,我在这个类中调用 getTest 方法来查看 boolean 结果是 true 还是 false。然后我在客户端中使用 if 语句查看是否为真,然后它将显示有匹配,如果没有,则没有匹配。

public class SomeNumbers {
private int[] numbers = { 5658845, 4520125, 7895122, 8777541, 8451277, 1302850, 8080152, 4562555, 5552012, 5050552, 7825877, 120255, 1005231, 6545231, 3852082, 7576651,7881200, 4581002};
private int number;
private int index = 0;
private boolean test = true;

public void setNumber(int input) {
number = input;
}

public boolean getTest(){
while (index < numbers.length){
if (number != numbers[index]){
test = false;
index++;
} else {
test = true;
}
}
return test;
}
}

抱歉,代码有点困惑,感谢您的帮助。

最佳答案

这是 getTest 函数的正确版本,您的问题是因为您找到匹配项(并将变量 test 设置为 true),但随后您继续搜索,下一个数字将“test”转换为 false

public boolean getTest()
{
index = 0;
while (index < numbers.length)
if (number != numbers[index])
index++;
else
return true;
return false;
}

关于java - 如果输入与数组列表中的数字匹配,则无法获取方法 (getTest) 返回 true boolean 方法结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19284879/

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