当前位置: 代码迷 >> J2SE >> 帮帮忙啊小弟我都快急死了
  详细解决方案

帮帮忙啊小弟我都快急死了

热度:6975   发布时间:2013-02-25 00:00:00.0
帮帮忙啊。我都快急死了
随机输入三个数,要求他们从大到小的顺序从控制台输出,用Java语言程序来解决。
------最佳解决方案--------------------------------------------------------

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

}


像这种小程序应该多练习,靠自己才是王道。
------其他解决方案--------------------------------------------------------
完美版,有输入校验功能,并且扩展为可输入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);
}

------其他解决方案--------------------------------------------------------
引用:
完美版,有输入校验功能,并且扩展为可输入N个数字,代码极限优化
Java code123456789101112131415161718public static void main(String[] args) {    String input = null;    Scanner in = new Scanner(System.in);    System.out……


从题目看出来楼主还是个菜鸟,你整出这么个难理解的他估计消化不了。简单易懂才是他需要的。
------其他解决方案--------------------------------------------------------
楼主可以分三部解决第一部生成三个随机数 第二部排序 第三部显示
------其他解决方案--------------------------------------------------------
把这三个数,放进array. 用Array.sort(). 然后输出
------其他解决方案--------------------------------------------------------
引用:
引用:完美版,有输入校验功能,并且扩展为可输入N个数字,代码极限优化
Java code123456789101112131415161718public static void main(String[] args) {    String input = null;    Scanner in = new Scanne……


代码即艺术,多看看精短的优美的代码是有好处的
不过,这段代码里确实用了几个很偏门的方式,对初学者来说可能比较难看懂
------其他解决方案--------------------------------------------------------
引用:
完美版,有输入校验功能,并且扩展为可输入N个数字,代码极限优化
Java code123456789101112131415161718public static void main(String[] args) {    String input = null;    Scanner in = new Scanner(System.in);    System.out……
  相关解决方案