返回一個整數數組中最大子數組的和(進行改進後的代碼),整數數組
1.設計思想
(1)首先創建一個一維數組a[],根據用戶輸入的數組長度及數組內容進行存儲數據。
(2)再定義幾個變量,sum用於求和,max為和最大值,num為數組長度。
(3)開始for循環,sum初始化為0,max初始化為a[0]。循環內容為sum+=a[i];如果sum比max大則將sum值賦給max,如果sum小於0,則定義sum=0。直至循環結束,得到最大子數組的和。
2.源程序代碼

![]()
//返回一個一維整數數組最大子數組和最大值
package ketang;
import java.util.*;
public class ArrayMax {
public static void main(String[] args) {
Scanner sca=new Scanner(System.in);
System.out.println("輸入整數數組數的個數");
int num=sca.nextInt();
int a[];
a=new int[num];
System.out.println("輸入數組的數");
int i;
for(i=0;i<num;i++)
{
a[i]=sca.nextInt();
}
int sum=0,max=a[0];
for(i=0;i<num;i++)
{
sum+=a[i];
if(max<sum)
{
max=sum;
}
if(sum<0)
{
sum=0;
}
}
System.out.println("最大子數組和為 "+max);
}
}
The Main Code
3.結果截圖




4.編程總結
聽了文同學的設計思路,感覺他的方法比我之前的方法簡單,然後借鑒他的方法,寫出了這篇代碼。