JAVA - 最高和最低的数字

时间:2013-09-16 23:32:14

标签: java

请帮助我找到最高和最低的数字。

我发誓,在我决定在这里发布代码之前,我确实在网站上阅读了关于这个问题的无数帖子,因为所有这些都有已知数量的输入。

我有来自用户的“未知”输入。它可以是任何给定的正数或负数。在尝试了将近一天后,我现在完全空白了。任何帮助都会得到极大的赞赏。

    package test;

import java.util.Scanner;
import java.lang.*;
import java.io.*;

public class Test {

    public static void main(String[] args){

int highest=Integer.MIN_VALUE;
int lowest=Integer.MAX_VALUE;

Scanner in = new Scanner(System.in);

System.out.println("Enter any positive or negative number");
int n = in.nextInt();

if(n > highest){
    lowest = highest;
    highest = n;
}

if (n < lowest){
    highest=lowest;
    lowest=n;
}

System.out.println(highest);
System.out.println(lowest);


    }
}

2 个答案:

答案 0 :(得分:5)

这是您的代码破解的地方。

highest=lowest;
lowest=n;

现在关于初始化这些变量。

我个人如何启动这个程序将初始化最低和最高n.所以你不必担心任何界限。

System.out.println("Enter any positive or negative number");
int n = in.nextInt();
int highest = n;
int lowest = n;

for(int i = 0; i < 9; i++){
    System.out.println("Enter any positive or negative number");
    n = in.nextInt();
    if(n > highest){
        highest = n;
    }else if (n < lowest){
        lowest=n;
    }
}

System.out.println(highest);
System.out.println(lowest);

这要求用户输入10个不同的数字。然后打印出最高和最低值。

else if (n < lowest)这也可能是else if,因为如果n是最高值,它也不能是最低值,因为我在开始时初始化。

答案 1 :(得分:2)

  1. 为什么要在lowest值中保存highest值?
  2. 你应该定义一个循环
  3. 完整代码:

    Scanner in = new Scanner(System.in);
    while(in.hasNextInt()) {
      System.out.println("Enter any positive or negative number");
      int n = in.nextInt();
      if(n > highest){
          highest = n;
      }
      if (n < lowest){
          highest=lowest;
          lowest=n;
      }
    }
    System.out.println(highest);
    System.out.println(lowest);