入力が という別のクラスの配列リストにある数値である場合、「数値が一致する」という結果が得られないようです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 ステートメントで true かどうかを確認し、一致があることを表示します。そうでない場合は、一致しません。
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;
}
}
コードの種類が切り刻まれて申し訳ありませんが、助けていただければ幸いです。