[英]Can't get method (getTest) to return true boolean method result if input matches a number in my array list
如果输入的数字是另一个名为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
方法上调用的类,以查看布尔结果是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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.