数组内部找到最大值

设计思想:根据传入的数组从第一个数字加起,然后如果结果出现负数那么将和设置为0。

              在过程中将和更新到数字最大和,判断如果当前和大于最大值那么就更新。

 

出现的问题:中间没有想到更新最大数组和的办法,倒置如5 -2 -3 1这种情况最大值输出为1。解决办法:更新和的最大值

 

源程序代码:

 1 package test;
 2 
 3 import javax.swing.JOptionPane;
 4 
 5 public class Test {
 6     public static void main(String[] args)
 7     {
 8         int[] shuzu =new int [4];
 9         int number_he=0,number_hezuidazhi=0;
10         for(int i=0;i<4;i++)
11         {
12             String str=JOptionPane.showInputDialog("请输入第"+ (i+1) + "数字:");
13             shuzu[i]=Integer.parseInt(str);
14         }
15         for(int m=0;m<4;m++)
16         {
17             number_he=number_he+shuzu[m];
18             if(number_hezuidazhi<number_he)//从中挑选的和如果大于已知最大值那么更新最大值
19             {
20                 number_hezuidazhi=number_he;
21             }
22             if(number_he<0)//如果判断出和小于0那么重置数组和
23             {
24                 number_he=0;
25             }
26         }
27         JOptionPane.showMessageDialog(null, "最大数组和为" + number_hezuidazhi);
28     }
29 

30 }

 

结果截图:

 

总结:java问题解决很依赖于数学水平

posted on 2016-04-08 17:06  火影不火  阅读(153)  评论(0编辑  收藏  举报