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

请问这段代码错在那里,为什么为什么就是过不了???

前面的三行为了方便查看,已经省略。
下面的源代码用软件看没有显示那里错了,但是就是运行不了。求各位大佬帮忙看看。谢谢
 int [] shu=new int[]{ 61, 23, 4, 74, 13, 148, 20 };
   
         int daf = shu [0];
         
         int xof = shu [0];
         
         int cun1 = 0;
         
         int cun2 = 0;
         
         for (int q=0;q<=shu.length;q++){
         
          if (shu[q]>daf){
          
           cun1 = shu[q];
           
          }
          if (shu[q]<xof){
          
           cun2 = shu[q];
           
          }
         
         }
          System.out.println("数组中最大的数是"+cun1);
          System.out.println("数组中最小的数是"+cun2);


正在回答

5 回答

你把你if都改一改 if(daf<shu[q]){

def=shu[q];} if(xof>shu[q]){xof=shu[q];}  

0 回复 有任何疑惑可以回复我~

你这设置的daf和xof的意义在哪 你倒是用上啊 

0 回复 有任何疑惑可以回复我~

你这个程序是求不出最大值最小值的,你一直都是在跟shu【0】比,daf和xof应该是变化的

1 回复 有任何疑惑可以回复我~

非常的对

0 回复 有任何疑惑可以回复我~

for (int q=0;q<=shu.length;q++)  改成  for (int q = 0; q < shu.length; q++) 试试

2 回复 有任何疑惑可以回复我~
#1

olaolaola

对!<=改成<不然最后一次循环超出数组了
2020-01-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问这段代码错在那里,为什么为什么就是过不了???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信