这段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);
}
}
}
}
展开
 我来答
69746831
2019-02-11 · TA获得超过1415个赞
知道大有可为答主
回答量:2038
采纳率:72%
帮助的人:798万
展开全部
首先,这里 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语句的语法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑徽
2019-02-11 · TA获得超过208个赞
知道答主
回答量:105
采纳率:66%
帮助的人:13.6万
展开全部
int[] array = {-3,-2,-1,0,1,2,3}; length是7
for(int c = 2; c == array.length;c++) {
c=2 length=7 相等才会开始循环,你这没有相等的操作怎么会进循环然后打印输出呢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式