随机输入三个数,要求他们从大到小的顺序从控制台输出,用Java语言程序来解决。

解决方案 »

  1.   

    把这三个数,放进array. 用Array.sort(). 然后输出
      

  2.   

    完美版,有输入校验功能,并且扩展为可输入N个数字,代码极限优化public static void main(String[] args) {
    String input = null;
    Scanner in = new Scanner(System.in);
    System.out.println("请输入n个数字,数字之间用空格分隔,如:12.34 34 -4");
    while(!(input = in.nextLine()).matches("^(\\s*-?\\d+(\\.\\d+)?\\s*)+$")) 
    System.out.println("输入有误,请重输");
    List<BigDecimal> result = new LinkedList<BigDecimal>();
    for (String s : input.trim().split("\\s+"))
    result.add(new BigDecimal(s));
    Collections.sort(result, new Comparator<BigDecimal>() {
    @Override
    public int compare(BigDecimal o1, BigDecimal o2) {
    return o2.compareTo(o1);
    }
    });
    System.out.println(result);
    }
      

  3.   


    import java.io.*;public class InputTest {
    public static void sort(double[] a)
    {
    for(int i=0;i<a.length-1;i++)
    for(int j=i+1;j<a.length;j++)
    {
    if(a[i]<a[j])
    {
    double temp;
    temp=a[i];a[i]=a[j];a[j]=temp;
    }
    }
    }
    public static void main(String[] args)
    {
    BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
    double[] array=new double[3];
    try{
    for(int i=0;i<array.length;i++)
    {
    System.out.println("请输入第"+(i+1)+"个数");
    array[i]=Double.parseDouble(stdin.readLine());
    }
    }catch(Exception e){}
    sort(array);
    System.out.print("排序后的结果为:");
    for(int i=0;i<array.length;i++)
    System.out.print(array[i]+" ");
    }}
    像这种小程序应该多练习,靠自己才是王道。