求教排序????????????????????

来源:6-6 编程练习

小破_孩

2015-05-20 15:03

package com.text;

import java.util.Scanner;

public class MaxMin {

 public static void main(String[] args) {

int [] nums=new int[10];

int max=nums[0];//假设第一个数为最大数;

int ag=0;

Scanner sc=new Scanner(System.in);

System.out.println("请输入十个数:");

for(int i=0;i<nums.length;i++){

System.out.print("请输入第"+(i+1)+"个数:");

nums[i]=sc.nextInt();

//比较出最大数

if(nums[i]>max){

max=nums[i];

}

}

int min=nums[0];//假设第一个数为最小数;

for(int k=0;k<nums.length;k++){

if(nums[k]<min){

min=nums[k];

}

}

int a=0;

for(;a<nums.length;a++){

if(nums[a]<nums[a+1]){

int re=nums[a];

nums[a]=nums[a+1];

nums[a+1]=re;

}

}

System.out.println("最大值:"+max);

System.out.println("最小值:"+min);

System.out.println(nums[a]);//排序


}

}


写回答 关注

3回答

  • 米迪
    2015-05-22 11:34:45
    已采纳

    上面的排序就是升序的算法,你要求降序只需要将if(nums[m]>nums[n])改成if(nums[m]<nums[n])即可

  • 米迪
    2015-05-22 11:26:41

    package com.demo;


    import java.util.Scanner;


    public class Demo {

    public static void main(String[] args) {

    int count=10;

    int[] nums=new int[count];

    //定义一个中间 变量

    int temp=0;

    Scanner sc=new Scanner(System.in);

    System.out.println("请输入10个数字:");

    //给数组初始化值

    for(int i=0;i<nums.length;i++){

    System.out.println("请输入第"+(i+1)+"个数字:");

    nums[i]=sc.nextInt();

    }

    //排序

    for(int m=0;m<nums.length-1;m++){

    for(int n=m+1;n<nums.length;n++){

    if(nums[m]>nums[n]){

    temp=nums[m];

    nums[m]=nums[n];

    nums[n]=temp;

    }

    }

    }

    //输出

    System.out.println("排序后的数组值为:");

    for(int j=0;j<nums.length;j++){

    System.out.print(nums[j]+"   ");

    }

    }


    }


  • 米迪
    2015-05-20 17:24:23

    import java.util.Arrays      直接用Arrays.sort(nums);  不就好了吗?

    小破_孩

    Arrays.sort()只能做升序的,我想要做降序的

    2015-05-21 19:00:45

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165559 学习 · 17587 问题

查看课程

相似问题