设计思路:用户输入一个数组本次规定为4个数的数组,可根据需要进行修改,关于如何求出子数组中和的最大值:应该先明确最大值的来源数组一定包括原来数组中的最大值,因此找到这个最大值并记录下标,定义两个和的变量temp和temp1,从最大值下标开始逐一求和比较最终得到子数组最大的和。
源代码:
package arrsum; import java.util.Scanner; public class Sum { public static void main(String[] args) { int arr[]= new int[10]; int i,sum=arr[0]; int temp=arr[0]; int temp2=arr[0]; int max=arr[0],max1=arr[0]; int max2=arr[0]; int n; Scanner sc=new Scanner(System.in); System.out.println("请输入一个4个数的数组"); for(i=0;i<4;i++) { arr[i]=sc.nextInt(); } for(i=0;i<4;i++) { if(arr[i]<arr[i+1]) max2=arr[i+1]; n=i+1; temp+=arr[n]; temp2+=arr[n+1]; if(temp>temp2) max=temp; else max1=temp2; } if(max>max1) sum=max; else sum=max1; System.out.println(sum); } }结果截图:总结:解决问题的关键在于找出问题的关键所在,因此在以后的编程过程中我应当多加注意充分的思考。
时间: 2024-10-11 23:14:46