我认为以下应该这样做 - 但似乎不是这样。
int[] jokes=new int[]{5,7,8,9,3,4,6,1,7};
for(int k=0;k<jokes.length && jokes[k]%2==0;k++){
System.out.println(jokes[k]);
}
在函数内进行评估仍然可行 - 但想检查是否有办法在for循环定义本身内过滤搜索(可能是通过调用循环定义本身的函数?) 如果我们能够做到这一点,那将是非常酷的。
答案 0 :(得分:3)
试试这个:
for(int k=0; k< jokes.length; k+=2){
System.out.println(items[k]);
}
答案 1 :(得分:2)
没有理由让事情过于复杂。
int[] jokes = new int[]{5,7,8,9,3,4,6,1,7}
for(int k = 0; k < jokes.length; k++){
if(jokes[k] % 2 == 0){
System.out.println(jokes[k]);
}
}
答案 2 :(得分:2)
您的循环将继续,直到k < jokes.length && jokes[k] % 2 == 0
为假
因此,对于您的示例输入,它将立即退出。
您需要将支票放入循环中:
int[] jokes = new int[] { 5, 7, 8, 9, 3, 4, 6, 1, 7 };
for (int k = 0; k < jokes.length; k++) {
if (jokes[k] % 2 == 0) {
System.out.println(jokes[k]);
}
}
答案 3 :(得分:1)
int[] jokes=new int[]{5,7,8,9,3,4,6,1,7};
for(int k=0; k<jokes.length; k++){
if(jokes[k]%2 == 0){
System.out.println(jokes[k]);
}
}
在循环内部进行检查,以允许for
语句遍历整个数组。
答案 4 :(得分:1)
for
循环中的第二个条件会在循环中看到奇数时使循环停止[k]。所以我会把它重写为:
int[] jokes=new int[]{5,7,8,9,3,4,6,1,7};
for(int k=0;k<jokes.length;k++){
if (jokes[k]%2 == 0)
{
System.out.println(items[k]);
}
}
答案 5 :(得分:1)
也许你想在每次迭代步骤中将k
增加2?
for(int k=0; k<jokes.length; k+=2){
System.out.println(items[k]);
}
答案 6 :(得分:1)
试试
int[] jokes = new int[] { 5, 7, 8, 9, 3, 4, 6, 1, 7 };
for (int k = 0; k < jokes.length ; k++) {
if (jokes[k] % 2 == 0) {
System.out.println(jokes[k]);
}
}
答案 7 :(得分:0)
这是固定代码。
int[] jokes=new int[]{5,7,8,9,3,4,6,1,7};
for(int k=0;k<jokes.length;k++){
if (jokes[k]%2==0) {
System.out.println(items[k]);
}
}
检查一下。这很容易理解。
答案 8 :(得分:0)
您正在遍历jokes
数组但打印items[k]
完全是另一个数组。这应该做。
int[] jokes=new int[]{5,7,8,9,3,4,6,1,7,2,10,-2,-1};
for(int k=0;k <jokes.length ;k++){
if(jokes[k] % 2 == 0)
{
System.out.println(jokes[k]);
}
}
答案 9 :(得分:0)
我不确定你要做什么,但下面的代码可以解决问题。请注意,System.out.println应该有笑话[k]而不是项目[k]
int[] jokes=new int[]{5,7,8,9,3,4,6,1,7};
for(int k=0;k<jokes.length;k++){
if (jokes[k]%2==0)
System.out.println(jokes[k]);
}