影51 2021-11-17 21:39 采纳率: 83.3%
浏览 18
已结题

由键盘输入,求n个不同数的最大值和次大值。

由键盘输入,求n个不同数的最大值和次大值。
一定从键盘输入!
《Java程序设计基础(第六版)》,例题5.2升级版!

  • 写回答

2条回答 默认 最新

  • 关注

    最直接的方法是先输入n个数,保存在数组中,然后排序。
    代码如下:

    public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入n的值:");
            int n = sc.nextInt();
            System.out.print("请输入"+n + "个数:");
            int[] a = new int[n];
            for(int i = 0;i<n;i++)
                a[i] = sc.nextInt();
            
            //从小到大排序
            for(int i = 0;i<n-1;i++){
                for(int j = 0;j<n-1-j;j++){
                    if(a[j] > a[j+1]){
                        int t = a[j];
                        a[j]=a[j+1];
                        a[j+1]=t;
                    }
                }
            }
            //输出最大值和次大值
            System.out.println("最大值:"+a[n-2]+",次大值:"+a[n-1]);
        } //main end
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月26日
  • 已采纳回答 11月18日
  • 创建了问题 11月17日

悬赏问题

  • ¥15 在arcgispro中导出gdb文件无法在python中读取
  • ¥15 千牛PC端客服工作台的Js调用成品或定制
  • ¥20 在同一个包中,无法引用自己创建的类,换台电脑又可以
  • ¥15 各位帮我看看为什么我写的代码按钮按了没有反应,deveco studio,
  • ¥20 云南省制造业对经济增长的影响目录应该怎么罗列,就是现状那部分
  • ¥15 求一套完整的纵横四海程序。
  • ¥20 AD7606采集到电压乱飘,怎么解决呢
  • ¥60 有没有人查监控方面厉害的呢
  • ¥15 绑住完成C语言的任务
  • ¥20 vue项目打包Android apk,实现小说文本朗读功能