个人作业4--数组

首先输入数组中所有的数,然后加出所有满足的和,然后一一比对。

import java.util.Scanner;

public class shuzu {
    public static void main(String args[])
    {
        Scanner s=new Scanner(System.in);
        System.out.println("请输入数组数目:");
        int sum=s.nextInt();
        int []a=new int[sum];
        System.out.println("请输入"+sum+"个数:");
        for(int i=0;i<sum;i++)
        {
            a[i]=s.nextInt();
        }
        s.close();
        int sum1=0;
        for(int i=1;i<=sum;i++)
        {
            sum1=sum1+i;
        }
        int [] b=new int[sum1];
        int temp1=0;
        for(int i=0;i<sum;i++)
        {
            int temp=0;
            for(int k=0;k<sum-i;k++)
            {   
                temp=temp+a[i+k];
                b[temp1]=temp;
                temp1++;
            }
        }
        for(int i=0;i<sum1-1;i++)
            for(int k=0;k<sum1-1-i;k++)
            {
                if(b[k]<b[k+1])
                {
                    int temp2=b[k];
                    b[k]=b[k+1];
                    b[k+1]=temp2;
                }
            }
        System.out.println("最大的子数组和为"+b[0]);
    }
}

本次实验我发现我对算法的研究还差得远,Java的知识点也忘了很多,以后还需要时常温习。

猜你喜欢

转载自www.cnblogs.com/my---world/p/10507001.html
4--