标签:
一、题目及要求:
public class mian { public static void main(String[] args) { // TODO Auto-generated method stub int N=5; int M=5; int n=-10; int m=10; int a[][]=new int[N][2*M]; int b[]=new int[2*M]; int A=0; int Max=0; int MAX=0; for(int i=0;i<N;i++) { for(int j=0;j<M;j++) { a[i][j]=(int)(n+Math.random()*(m-n+1)); a[i][M+j]=a[i][j]; } } for(int i=0;i<N;i++) { for(int j=0;j<M;j++) { System.out.printf(a[i][j]+" "); } System.out.println(); } for(int i=0;i<N;i++) { int h=i; for(int s=0;s<2*M;s++) { b[s]=0; } do { int e=0; int c=0; int d=0; for(int k=0;k<2*M-1;k++) { b[k]=b[k]+a[h][k]; } A=b[0]; Max=b[0]; for(int j=1;j<2*M-1;j++) { if(A<0) { A=b[j]; if(Max<A) { Max=A; e=j; c=j; d=e; } else { e=j; } } else { if((j-d)==M) { break; } if(b[j]<0) { if(Max<A) { Max=A; c=j-1; d=e; } A=A+b[j]; } else { A=A+b[j]; if(Max<A) { Max=A; c=j; d=e; } } } } if(h==0) { MAX=Max; } else if(MAX<Max) { MAX=Max; } h++; }while((h<N)); } System.out.print("最大字数组和为:"+MAX); } }
四、程序运行截图:
五、总结:
通过这次实验对问题的分析,问题的解决都有了一定的思路,遇到问题能静下心来去思考解决办法,不在烦躁。对实验思路还是不清不楚,总是一边写代码一边想办法解决。
标签:
原文地址:http://www.cnblogs.com/fengyutongxing/p/4446363.html