这段java代码为什么输出没有结果
publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubintresult=0;int[]arr...
public static void main(String[] args) {
// TODO Auto-generated method stub
int result = 0;
int[] array = {-3,-2,-1,0,1,2,3};
for(int a = 0;a < array.length - 1; a++) {
for(int b = 1; b < array.length;b++) {
for(int c = 2; c == array.length;c++) {
if(array[a] + array[b] + array[c] == 0)
result = array[a] + array[b] +array[c];
System.out.println(array[a] + "+" + array[b] + "+" + array[c] + "=" + result);
}
}
}
} 展开
// TODO Auto-generated method stub
int result = 0;
int[] array = {-3,-2,-1,0,1,2,3};
for(int a = 0;a < array.length - 1; a++) {
for(int b = 1; b < array.length;b++) {
for(int c = 2; c == array.length;c++) {
if(array[a] + array[b] + array[c] == 0)
result = array[a] + array[b] +array[c];
System.out.println(array[a] + "+" + array[b] + "+" + array[c] + "=" + result);
}
}
}
} 展开
2个回答
展开全部
首先,这里 for(int c = 2; c == array.length;c++) {
c赋值为2,然后判断 c == array.length,永远不成立,不会进入循环,
应该改成 c < array.length;
然后下面的 if 判断相加等于0,
if(array[a] + array[b] + array[c] == 0)
result = array[a] + array[b] +array[c];
这样写 等价于
if(array[a] + array[b] + array[c] == 0){
result = array[a] + array[b] +array[c];
}
单条语句确实可以不加大括号,
想输出正确结果,输出语句应该放在 if 块中
可以好好看下for循环,跟if语句的语法
c赋值为2,然后判断 c == array.length,永远不成立,不会进入循环,
应该改成 c < array.length;
然后下面的 if 判断相加等于0,
if(array[a] + array[b] + array[c] == 0)
result = array[a] + array[b] +array[c];
这样写 等价于
if(array[a] + array[b] + array[c] == 0){
result = array[a] + array[b] +array[c];
}
单条语句确实可以不加大括号,
想输出正确结果,输出语句应该放在 if 块中
可以好好看下for循环,跟if语句的语法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询