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 }

    运行结果:

  • 相关阅读:
    TinyEditor:简洁且易用的html所见即所得编辑器
    arguments.callee 调用自身
    java.io.IOException: 设备未就绪
    关于vcastr3播放器自动播放的问题
    javascript中IE浏览器不支持NEW DATE()带参数的解决方法
    Oracle常用查看表结构命令
    java通过文件头内容判断文件类型
    RS开发日期提示控件默认为昨天
    Cognos更新问题之利用Transform实现Cube增量更新
    SqlServer中从字符串中获取项目指标方法charindex月substring结合
  • 原文地址:https://www.cnblogs.com/0518liu/p/11069613.html
Copyright © 2011-2022 走看看