所以我只是在做一些简单的事情。我创建了一个简单的Java程序,您可以在其中输入您将数据存储在数组中的滚动的猜测,然后将其与随机生成的两个数字进行比较。所以我的问题是如何在不引用精确索引(即不是数组[0] =数字[1])的情况下将数组与两个数字进行比较?我这样做主要是为了弄清楚数组是如何工作的。另外为什么其他错误?
public static void main (String [] args){
java.util.Scanner input = new java.util.Scanner(System.in);
int [] guess= new int [2];
System.out.print("Enter " + guess.length + " values: ");
for (int i=0; i<guess.length;i++)
guess[i] = input.nextInt();
method(guess);
}
public static String method(int [] that){
int number1 = (int)(Math.random() * 6);
int number2 = (int)(Math.random() * 6);
for (int i =0;i<that.length;i++){
if(that[i]==number1 and that[i]+1==number2)
{
return "You got it";
}
else
{
return "try again";
}//end else
} //end for
}//end method
答案 0 :(得分:0)
您可以检查数组是否包含该元素
Arrays.asList(that).contains(number1)
如果数组包含其他元素为false
,则返回true答案 1 :(得分:0)
如果您想要and
两个条件写AND
,则不能这样写&&
。同样在if
条件下,我认为您的意思是递增index that[i+1]==number2
,您正在递增随机数本身。所以你的if条件看起来像: -
if(that[i]==number1 && that[i+1]==number2)
{
return "You got it";
}
else{
..
}
还想添加输出You got it
或try again
对用户不可见,因为您只是从method(guess);
调用方法main()
并返回{ {1}}但不对返回的String
执行任何操作。你必须这样写它才能在控制台上看到输出。
String
答案 2 :(得分:0)
如果你想要在不引用精确索引的情况下将数组与两个数字进行比较,那么你可以做的第一件事是使用增强for循环来避免像这样的数组索引
for(int number: that){
// do your comparison while iterating numbers in that(array) as "number"
}