zoukankan      html  css  js  c++  java
  • 4.25软件工程课下作业

    源代码:

     1 package text;
     2 import java.util.Scanner;
     3 
     4 import javax.swing.JOptionPane;
     5 
     6 public class shuzu2 {
     7     public static void main(String []args)
     8     {
     9         Scanner s=new Scanner(System.in);
    10         String str1=JOptionPane.showInputDialog(null,"请输入数组长度:");
    11         int sum=Integer.parseInt(str1);
    12         int []a=new int[sum];
    13         JOptionPane.showMessageDialog(null,"请输入"+sum+"个数");
    14         for(int i=0;i<sum;i++)
    15         {
    16             String str2=JOptionPane.showInputDialog(null,"请输入第"+(i+1)+"个数:");
    17             a[i]=Integer.parseInt(str1);;
    18         }
    19         s.close();
    20         int sum1=0;
    21         for(int i=1;i<=sum;i++)
    22         {
    23             sum1=sum1+i;
    24         }
    25         int [] b=new int[sum1];
    26         int temp1=0;
    27         int max=a[0];
    28         int temp3=0;
    29         int temp4=0;
    30         for(int i=0;i<sum;i++)
    31         {
    32             int temp=0;
    33             for(int k=0;k<sum-i;k++)
    34             {  
    35                 temp=temp+a[i+k];
    36                 b[temp1]=temp;
    37                  if(max<b[temp1])
    38                  {  temp3=i;
    39                     temp4=k+1;
    40                      max=b[temp1];
    41                  }
    42                  if(temp1==0)
    43                     System.out.println("第1次:a[0]为最大子数组是"+a[0]);
    44                  else{
    45                  if(max==b[temp1])
    46                     System.out.println("第"+(temp1+1)+"次:a["+temp3+"]到a["+(temp3+temp4-2)+"],a["+i+"]到a["+(i+k)+"]的和最大为:"+temp);
    47                  else
    48                      System.out.println("第"+(temp1+1)+"次:a["+i+"]到a["+(i+k)+"],a["+temp3+"]到a["+(temp3+temp4-1)+"]的和最大为:"+max);
    49                  }
    50                  temp1++;
    51             }
    52         }
    53         System.out.println("所有子数组和数组如下:");
    54         for(int i=0;i<sum1-1;i++)
    55         {
    56             System.out.print(b[i]+" ");
    57         }
    58         System.out.println("");
    59         System.out.println("其排序如下");
    60         int temp=1;
    61         for(int i=0;i<sum1-1;i++)
    62         {
    63             System.out.print("第"+temp+"次排序:");
    64             for(int k=0;k<sum1-1-i;k++)
    65             {
    66                 if(b[k]<b[k+1])
    67                 {
    68                     int temp2=b[k];
    69                     b[k]=b[k+1];
    70                     b[k+1]=temp2;
    71                 }
    72             }
    73             for(int j=0;j<sum1-1;j++)
    74             {
    75                 System.out.print(b[j]+" ");
    76             }
    77             System.out.println("");
    78             temp++;
    79         }
    80         JOptionPane.showMessageDialog(null,"最大的子数组和为"+b[0]);
    81     }
    82 }

    运行结果:

  • 相关阅读:
    第一次冲刺结果演示 一组评审总结
    检查博客情况
    第十次站立会议
    第九次站立会议
    暑期实训day4
    暑期实训day3
    暑期实训day2.1——一发空格引发的血案
    暑期实训day2
    暑期实训day1
    黑板模式
  • 原文地址:https://www.cnblogs.com/0518liu/p/11069613.html
Copyright © 2011-2022 走看看