Java打印问题

时间:2014-07-31 06:19:27

标签: java for-loop

这是假定的打印结果(适用于所有整数):

Please input 5 integers: 54 98 23 14 37
54
98 <-- largest value
23
14 <-- smallest value
37

这是我未完成的计划:

public static void main(String[] args) {

    Scanner in = new Scanner (System.in);
    System.out.print("Please input 5 integers: ");
    int [] x = new int [5];
    for (int i=0; i < x.length; i++) {
        x[i] = in.nextInt();
    }

    System.out.println(x[i]);

    int max = x[0];
    int min = x[0];

    for (int i=0; i < x.length; i++) {
        if (x[i] > max) {
            max = x[i];
        }
    }

    for (int i=1; i < x.length; i++) {
        if (x[i] < min) {
            min = x[i];
        }
    }

}       

我已经完成了核心部分,这是功能部分。我面临的问题是如何将这些功能结果应用到最后一步:打印。

有人可以帮我解决问题吗?谢谢:))

3 个答案:

答案 0 :(得分:0)

伪代码:

for each number
    print number
    if number is max
        print "<-- largest value"
    if number is min
        print "<-- smallest value"

答案 1 :(得分:0)

for (int i=0; i < x.length; i++) {
    if (x[i] == min) {
       System.out.println(min + "<-- smallest value");
    }else if(x[i] == max){
       System.out.println(max + "<-- largest value");
    }else{
       System.out.println(x[i]);
 }
}

答案 2 :(得分:0)

我会在您的输入循环中检查maxmin,并按照要求完全按照要求获取输出 -

Scanner in = new Scanner(System.in);
System.out.print("Please input 5 integers: ");
int[] x = new int[5];
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for (int i = 0; i < x.length; i++) {
  if (!in.hasNextInt()) { // <-- do we have an int?
    if (!in.hasNext()) {  // <-- do we have any input?
      System.err.println("No more input.");
      System.exit(1);
    }
    System.err.println(in.next() + " is not a number");
    i--; // <-- reget this "number".
    continue;
  }
  int val = in.nextInt();
  if (val < min) { // <-- is it smaller then min?
    min = val;
  }
  if (val > max) { // <-- is it larger then max?
    max = val;
  }
  x[i] = val;
}
for (int i : x) {
  String str = "";
  if (i == min && i == max) {
    str = " <-- largest and smallest value"; // <-- just in case.
  } else if (i == min) {
    str = " <-- smallest value";
  } else if (i == max) {
    str = " <-- largest value";
  }
  System.out.printf("%d%s%n", i, str);
}

输出

Please input 5 integers: 54 98 23 14 37
54
98 <-- largest value
23
14 <-- smallest value
37