为了账号安全,请及时绑定邮箱和手机立即绑定

大神,帮忙看看哪出错了

大神,帮忙看看哪出错了

qq_小杜_1 2017-04-14 17:11:47
package com.imooc;public class table { public static void main(String[] args) { int myTable[][]={ {12,25,56,48,78,96}, {45,65,78,69,79,63}, {36,46,76,98,26,38}}; int max,main; int sum=0; max =myTable[0][0]; main =myTable[0][0]; double avg=0.0;   for(int i=0;i<=3;i++){   for(int j=0;j<=6;j++){   sum=sum+myTable[i][j]; if(max<myTable[i][j])      max=myTable[i][j];         if(main>myTable[i][j])           main=myTable[i][j]; }   }   avg=sum/18;       System.out.println("最大值:"+max);       System.out.println("最小值:"+main);       System.out.println("平均值:"+avg);   }}
查看完整描述

4 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞

for(int i=0;i<3;i++){ for(int j=0;j<6;j++){…}…} 注意数组下标,下标从0开始,这里否则会报数组下标越界异常。
查看完整回答
反对 回复 2017-04-14
?
Nirva_Troy

TA贡献2条经验 获得超0个赞

for(int i=0;i<3;i++){

        for(int j=0;j<6;j++){

            sum=sum+myTable[i][j];

            if(max<myTable[i][j]) max=myTable[i][j];

            if(main>myTable[i][j]) main=myTable[i][j];
        }

    }


查看完整回答
反对 回复 2017-04-15
?
ELLIOT4038596

TA贡献5条经验 获得超1个赞

你for 循环没学好吧 !  for循环是从0开始的,比如  for(int i=0;i<=3;i++),这里你加个等于这个循环执行了四次,而你只myTable里只有三个数组,还有个for循环也是一样。这叫越界,你取值取了本没有的东西。把=号去掉 程序就能跑起来。

查看完整回答
反对 回复 2017-04-15
?
刘小振

TA贡献18条经验 获得超5个赞

for()后面最好都加上{},尽管只有一个循环语句,这样就可以更美观,看起来更方便
查看完整回答
反对 回复 2017-04-14
?
qq_小杜_1

TA贡献3条经验 获得超0个赞

怎么修改呢?大神,我是初学者

查看完整回答
反对 回复 2017-04-14
  • 4 回答
  • 0 关注
  • 1609 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信