所以基本上我遇到了一种情况,在我的编程中,我需要让程序查看数组的某一部分是否与数组的任何其他部分相同。Java编程,函数中的数组
例如,如果我有一个数组称为数组[5],并且我需要查看数组[0]是否等于数组的其他任何部分,我该怎么做?当然,假设我从用户那里获得输入,并且必须查看用户是否输入了相同的号码。
这里是我的现实生活中的例子,我有这个问题发生在isUnique
方法:
import java.util.Scanner;
public class Week06_NelsonPimentel_Assignment {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] validnum;
int i = 0;
validnum = new int[5];
boolean isvalid;
boolean isunique;
System.out.println("Please enter a number between 50 and 100");
while (i < validnum.length) {
validnum[i] = input.nextInt();
if (validnum[i] <= 101 && validnum[i] >= 49) {
isvalid = isValid(validnum[i]);
if (i > 0) {
isunique = isUnique(validnum[i], validnum[i]);
}
i++;
} else {
System.out.println("Invalid number***");
}
}
}
static boolean isValid(int a) {
boolean b = true;
System.out.println("valid");
return b;
}
static boolean isUnique(int a, int b) {
boolean yes;
int i;
if (a == b) {
System.out.println("This is not a unique number");
yes = false;
}
else {
System.out.println("This is a unique number!");
yes = true;
}
return yes;
}
}
'isunique = isUnique(validnum [i],validnum [i]);'将导致isunique始终为'true'。 – aUserHimself
严禁你的代码令人困惑,出于某种原因'isValid'总是返回'true'。 –
所以我把isUnique(validnum [i],validnum [i])切换到isUnique(validnum [i],validnum),这是否会使validnum引用所有值,而不仅仅是一个? – zenon