-3

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

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

我有来自用户的“未知”输入。它可以是任何给定的正数或负数。在尝试了将近一天之后,我现在完全空白。非常感谢任何帮助。

    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);


    }
}
4

2 回答 2

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是最高值,它也不能是最低值,因为我在开始时进行了初始化。

于 2013-09-16T23:50:16.997 回答
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);
    
于 2013-09-16T23:41:26.303 回答