java大整数对应存入数组,课堂练习(返回一个整数数组中最大子数组的和),整数数组...

课堂练习(返回一个整数数组中最大子数组的和),整数数组

1.设计思想

只用一个主函数即可完成。

首先,定义一个整型数组,让用户输入一组整数。

然后,判断这一组数的正负还有零的情况。

最后,根据判断出来的情况进行选择执行 if 语句,情况分别为全为0,负数和0,正数和0还有正数负数和0。

2.源代码

cdec0645add3fc3c328197dda5c76203.png

1117916.html1 /*

2 * For the maximum of the subarray of an integer array3 * The start time 2016/4/8 16:504 * The end of time 2016/4/8 18:305 * Author Jing6 */

7 packagearraymax;8 import java.util.*;9 public classSumArray {10

11 public static voidmain(String[] args) {12

13 Scanner sca=newScanner(System.in);14 System.out.println("输入整数数组数的个数");15 int num=sca.nextInt();16

17 int a[]=new int[num],b[]=new int[num];18 inti;19 System.out.println("输入此组整数数组");20 for(i=0;i

26 {27 if(a[i]>=0)28 {29 j++;30 }31 if(a[i]<0)32 {33 k++;34 }35 if(a[i]==0)36 {37 l++;38 }39 }40 if(k==num)//全为负数

41 {42 max=a[0];43 for(i=1;i

53 {54 System.out.println("最大子数组和为 0");55 }56 else if(j==num)//全为非负数

57 {58 for(i=0;i

65 {66 for(i=0;i=0&&a[i+1]>=0)69 {70 a[i+1]=a[i]+a[i+1];71 a[i]=0;72 }73 if(a[i]<0&&a[i+1]<0)74 {75 a[i+1]=a[i]+a[i+1];76 a[i]=0;77 }78 }79 k=0;80 j=0;81 while(k

82 {83 if(a[k]!=0)84 {85 b[j]=a[k];86 j++;87 }88 k++;89 }90 if(b[0]<0) //寻找第一个正数的下标

91 {92 i=1;93 }94 else

95 {96 i=0;97 }98 while(i

99 {100 if(b[i]>(-b[i+1]) && (-b[i+1])

108 {109 i=i+2;110 }111 }112 max=b[0];113 for(i=1;i

The Main Code

3.结果截图

66a11319ffa5731a4344fdec393f7b99.png

4a72985dc26cf270dbc3a8d763e1675b.png

519e7e51993e7fd1abb7de484053dd1f.png

14749951888c1de911d8b71bf5f275eb.png

ff0958fbf1495f0969afae2afe746ab4.png

4.编程总结

由于时间问题,此程序编的有些仓促,还有很多不足之处,以及需要优化的地方。在空余时间里,我再继续思考,争取编出一个最起码自己满意的程序。

http://www.dengb.com/Javabc/1117916.htmlwww.dengb.comtruehttp://www.dengb.com/Javabc/1117916.htmlTechArticle课堂练习(返回一个整数数组中最大子数组的和),整数数组 1.设计思想 只用一个主函数即可完成。 首先,定义一个整型数组,让用户输...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值