设计思路:首先定义一个二维数组,用来记录输入的数字,然后输入若干个数字,用1024作为判断数组输入的结尾,用循环判断,如果第一个数字小于0,则从下一个数字开始在进行判断,如果大于等于0,则它等于自己和前一个数字的和,以此类推,知道判断完毕,最后用一个循环判断出最大值
实验代码:
package show3; import java.util.Scanner; public class demo{ public static void main(String args[]) { int[][] a=new int[100][2]; int j=0;//判断数组的数字的个数 Scanner b=new Scanner(System.in); System.out.println("输入要进行操作的数字的范围"); int c=b.nextInt();//输入数字范围 System.out.println("请输入"+c+"以内若干个整数"); for(int i=0;i<100;i++) { a[i][0]=b.nextInt(); if(a[i][0]==1024) //数组结束的标志 { j=i; break; } } a[0][1]=a[0][0]; for(int i=1;i<j;i++) { if(a[i-1][1]<0) { a[i][1]=a[i][0]; } if(a[i-1][1]>=0) { a[i][1]=a[i-1][1]+a[i][0]; } } int max=a[0][1]; for(int i=1;i<j;i++) { if(a[i][1]>=max) { max=a[i][1]; } } System.out.println("字数组最大和为"+max); } }
结果截图: