Java 具有int和int[]参数的方法
我有一个有两个参数的方法,但它们是不同的类型(int,int[])。问题在于调用方,Eclipse不会编译,因为它说这两个参数都需要是整数类型。调用方如下所示:Java 具有int和int[]参数的方法,java,arrays,Java,Arrays,我有一个有两个参数的方法,但它们是不同的类型(int,int[])。问题在于调用方,Eclipse不会编译,因为它说这两个参数都需要是整数类型。调用方如下所示: boolean uniqueTorF = isUnique(count, userArray[i]); boolean foo = isUnique(count, userArray); 方法如下: public static boolean isUnique(int oneCount, int[] multiCount) {
boolean uniqueTorF = isUnique(count, userArray[i]);
boolean foo = isUnique(count, userArray);
方法如下:
public static boolean isUnique(int oneCount, int[] multiCount) {
for (int i = 0; i < multiCount.length; i++) {
if (oneCount == multiCount[i]) {
return false;
}
}
return true;
}
publicstaticbooleanique(int-oneCount,int[]multiCount){
for(int i=0;i
这是我的全部代码:
public static void main(String[] args) {
int[] userArray;
userArray = new int[5];
int validCount = 0, i = 0, uniqueSoFar = 0;
System.out.println("Please print out 5 numbers between 50 and 100. ");
Scanner entry = new Scanner(System.in);
while (validCount < 5) {
int count = entry.nextInt();
boolean validTorF = isValid(count);
boolean uniqueTorF = isUnique(count, userArray[i]);
if (validTorF == true) {
userArray[i] = count;
validCount++;
i++;
if (uniqueTorF == true){
uniqueSoFar++;
}
} else {
System.out.println("That is not a valid number.");
}
}
}
public static boolean isValid(int validParameter) {
if (validParameter > 50 && validParameter < 100) {
return true;
} else {
return false;
}
}
public static boolean isUnique(int oneCount, int[] multiCount) {
for (int i = 0; i < multiCount.length; i++) {
if (oneCount == multiCount[i]) {
return false;
}
}
return true;
}
publicstaticvoidmain(字符串[]args){
int[]用户数组;
userArray=newint[5];
int validCount=0,i=0,uniqueSoFar=0;
System.out.println(“请打印出5个介于50和100之间的数字”);
扫描仪条目=新扫描仪(System.in);
while(有效计数<5){
int count=entry.nextInt();
布尔值validTorF=isValid(计数);
布尔uniqueTorF=isUnique(count,userArray[i]);
如果(validTorF==true){
userArray[i]=计数;
validCount++;
i++;
if(uniqueTorF==true){
uniqueSoFar++;
}
}否则{
System.out.println(“这不是一个有效的数字。”);
}
}
}
公共静态布尔值isValid(int validParameter){
如果(有效参数>50和有效参数<100){
返回true;
}否则{
返回false;
}
}
公共静态布尔值是唯一的(int-oneCount,int[]多个){
for(int i=0;i
}去掉索引
[i]
userArray[i]
是数组的单个元素userArray
是整个数组
boolean uniqueTorF = isUnique(count, userArray);
定义的方法要求第二个参数为数组,而调用方正在发送特定元素。因此,将整个数组作为参数发送我敢打赌它说参数都是整数类型,而不是它们应该是。您正在传递
count
和userArray[i]
,但您可能应该传递count
和userArray
错误的原因是您传递的参数错误
执行此操作时:
boolean foo = isUnique(count, userArray[i]);
然后用2个int参数调用该方法,但需要一个int,int[]
你肯定在寻找更像这样的东西:
boolean uniqueTorF = isUnique(count, userArray[i]);
boolean foo = isUnique(count, userArray);
我不知道
userArray
是什么类型,但您可能没有将正确的类型传递给isUnique()
isUnque()
要求将int
作为第一个参数,将int
数组(即int[]
)作为第二个参数。布尔uniqueTorF=isUnique(count,userArray[i]);userArray的类型是什么??是int[]吗?如果要将int数组作为第二个参数,为什么要从该数组中传递元素i?我从哪里来的?您必须传递userArray,而不是userArray[i]。。。