从键盘接收十个整数。 比较大小后输出最大的和最小的怎么实现?
想到下面这个例子里只接收一次, 现在接收十次不是要接收十次了
我想肯定不是这样的
import java.io.*;public class ReceiveNumber { /**
 * @param args
 */
public static void main(String[] args) {
int i = 0;
String s = null;
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
s = br.readLine();
} catch(IOException e) {}
System.out.println("You've input the number:" + s);
System.out.println("\r");
int m = s.indexOf(".");
String p = s.substring(0,m);
String q = s.substring(m+1,s.length());
System.out.println("The integer of the number is "+ p);
System.out.println("\r");
System.out.println("The decimal fraction of the number is "+ q);
}

解决方案 »

  1.   

    接收完了放在数组i里然后用  Arrays.sort(i);  就可以了前提导入java.util.*;
    给你个例子运行下看看就明白了...输入建议用Scanner
    import java.util.*;public class Sort {
    public static void main(String[] args) {
    double[] i = new double[5];
    Scanner  in = new  Scanner(System.in);

    for (int j = 0; j < 5; j++) {
    i[j]=in.nextDouble();
    }

    for (int j = 0; j < 5; j++) {
    System.out.print(i[j]+"\t");
    }
    System.out.println(" ");

    Arrays.sort(i);
    for (int j = 0; j < 5; j++) {
    System.out.print(i[j]+"\t");
    }
    }
    }
      

  2.   

    楼上的我是不知道怎么接收,
    那段代码是办理出整数部分和小数部分。。
    接收十个数不是要像上面那个程序一样要要接收十次,我不是要写十个try模块?
    这点不明白后面的用冒泡排序我会~
      

  3.   

    你看没看我程序啊.晕....Scanner  in = new  Scanner(System.in);
    i[j]=in.nextDouble();不就接收了吗.......费尽...又不是文件用什么流啊
      

  4.   


    while(){}
    把你进行输入流操作的语句框起来
    设定某个特别的字符为while终止条件(比如Esc,Q,空格等等都可以)第一次输入一个数字后,按回车,让程序读取到你的输入流,然后把它转换成double数存到数组中,这个数组一共有两个位置,两个位置都放它好了再输入一个数字,按回车,让程序读取到你的输入流,把它转换成double数,和数组中的第一个位置数进行比较,如果比它小,覆盖掉第一个位置的值,再和数组中第二个位置的数进行比较,如果比它大,覆盖掉第二个位置的值以后依次都这样操作,直到输入十个数字后按某个特殊的键跳出这个while循环,之后用println函数打印这个数组就可以了,第一个位置就是最小值,第二个位置就是最大值这是文字描述你想要实现的功能
    真正的代码,我希望你能在理解的基础上自己动手写出来,并不是很难的。
      

  5.   


    下面的是按四楼的写的我想在输入第一个数的时候提示“请输入十个数”
    在输入第二个数的时候提示“请输入第二个数”
    不知道怎么实现谢谢四楼的。。我对Scanner不太懂~~~
    import java.util.Arrays;
    import java.util.Scanner;
    public class MaxMin { public static void main(String[] args) {
                   System.out.println("Please input ten numbers");
    int[] a = new int[10];
    for (int i = 0; i < 10; i++ ){
    System.out.println("Please input the next number : ");
    Scanner in = new Scanner(System.in);
    a[i] = in.nextInt();
    System.out.println(a[i]);
    }
    Arrays.sort(a);
    for (int i = 0; i < 10 ; i++) {

    }
    int max = a[9];
    int min = a[0];
    System.out.println("You've input the largest is " + max);
    System.out.println("You've input the smallest is "  + min);
    }}
      

  6.   

    参照四楼的指点
    我的想法
    import java.util.Arrays;
    import java.util.Scanner;
    public class MaxMin { public static void main(String[] args) {
    int[] a = new int[10];
    int max,min,i;
    System.out.println("Please input ten numbers: ");
    Scanner in = new Scanner(System.in);
                for (i = 0; i < 10; i++) 
    a[i] = in.nextInt();
    max = a[0];
    min = a[0];
    for (i = 1; i < 10; i++) {
    if(max<a[i]) {
    max = a[i];
    }
    }
    for (i =1; i < 10 ; i++) {
    if(min>a[i]) {
    min = a[i];
    }
    }
    System.out.println("The largest number you input is " + max);
    System.out.println("The smallest number you input is " + min);
      

  7.   

    这样感觉好点了。。
    更改如下:import java.util.Arrays;
    import java.util.Scanner;public class MaxMin2 {
    public static void main(String[] args) {
    System.out.println("Please input ten numbers");
    int[] a = new int[10];
    a[0] = new Scanner(System.in).nextInt();
    for (int i = 1; i < 10; i++ ){
    System.out.println("Please input the next number : ");
    Scanner in = new Scanner(System.in);
    a[i] = in.nextInt();
    System.out.println(a[i]);
    }
    Arrays.sort(a);
    for (int i = 0; i < 10 ; i++) {

    }
    int max = a[9];
    int min = a[0];
    System.out.println("You've input the largest is " + max);
    System.out.println("You've input the smallest is "  + min);
    }}
    现在去实现下talent_marquis(甜菜侯爵) 的想法,谢谢你的意见