为了账号安全,请及时绑定邮箱和手机立即绑定

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

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 回答

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

0 回复 有任何疑惑可以回复我~

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]+"   ");

}

}


}


0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

小破_孩 提问者

Arrays.sort()只能做升序的,我想要做降序的
2015-05-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信