Java While语句中整数的最小值和最大值

Java While语句中整数的最小值和最大值,java,Java,我是Java的初学者,通过一个类学习,但是当我尝试执行while语句时,某人可以输入0到100之间的数字,直到他们键入999,然后它会给出输入的数字、最高数字、最低数字和所有数字的平均数 根据我目前掌握的代码,999没有第一次注册,最高和最低数字都是多位数,数字的数量包括超出限制的任何数字和999,以及平均数 以下是我所拥有的: import java.util.Scanner; public class TestScoreStatistics { public static voi

我是Java的初学者,通过一个类学习,但是当我尝试执行while语句时,某人可以输入0到100之间的数字,直到他们键入999,然后它会给出输入的数字、最高数字、最低数字和所有数字的平均数

根据我目前掌握的代码,999没有第一次注册,最高和最低数字都是多位数,数字的数量包括超出限制的任何数字和999,以及平均数

以下是我所拥有的:

import java.util.Scanner;

public class TestScoreStatistics {

    public static void main(String[] args) {
        int numberOfScores = 0;
        int highest;
        int lowest;
        double average;
        Integer score = 0;
        int sumOfScores = 0;
        Scanner input = new Scanner(System.in);

        System.out.println("Please enter a grade or enter 999 to finish >> ");
        score = input.nextInt();
        sumOfScores = sumOfScores + score;

        while (score < 100 || score > 0) {
            ++numberOfScores;
            System.out.println("Please enter a grade or enter 999 to finish >> ");
            score = input.nextInt();
            sumOfScores = sumOfScores + score;
            ++numberOfScores;

            while (score > 100 || score < 0) {
                System.out.println("You entered an invalid score. Please enter a valid test score.");
                System.out.println("Please enter a grade or enter 999 to finish >> ");
                score = input.nextInt();
                sumOfScores = sumOfScores + score;

                if (score == 999) {
                    highest = score.MIN_VALUE;
                    lowest = score.MAX_VALUE;
                    average = sumOfScores / numberOfScores;
                    System.out.println("Number of Scores you entered: " + numberOfScores);
                    System.out.println("Highest Score: " + highest);
                    System.out.println("Lowest Score: " + lowest);
                    System.out.println("Average Score: " + average);
                }
            }
        }
    }
}
import java.util.Scanner;
公共类TestScoreStatistics{
公共静态void main(字符串[]args){
int numberOfScores=0;
int最高;
int最低;
双倍平均;
整型得分=0;
int-sumOfScores=0;
扫描仪输入=新扫描仪(System.in);
System.out.println(“请输入成绩或输入999以完成>>”;
score=input.nextInt();
总和分数=总和分数+分数;
而(分数<100 | |分数>0){
++分数;
System.out.println(“请输入成绩或输入999以完成>>”;
score=input.nextInt();
总和分数=总和分数+分数;
++分数;
而(分数>100 | |分数<0){
System.out.println(“您输入的分数无效。请输入有效的测试分数”);
System.out.println(“请输入成绩或输入999以完成>>”;
score=input.nextInt();
总和分数=总和分数+分数;
如果(分数=999){
最高=得分。最小值;
最低=得分。最大值;
平均值=得分总和/得分数;
System.out.println(“您输入的分数数:“+numberOfScores”);
System.out.println(“最高分数:+最高分”);
System.out.println(“最低分:+最低分”);
System.out.println(“平均分数:+平均值”);
}
}
}
}
}
谢谢。

考虑一下这句话

while(score < 100 || score > 0)
while(分数<100 | |分数>0)
如果分数
999
你认为它包括在内吗

如果您使用简单的调试,您会在(分数<100&&score>0)时立即发现这一点{
while (score < 100 && score > 0) {
 ++numberOfScores;
 System.out.println("Please enter a grade or enter 999 to finish>> ");
 score = input.nextInt();
 sumOfScores = sumOfScores + score;
 ++numberOfScores;
 highest=Integer.MIN_VALUE;
 lowest=Integer.MAX_VALUE;
 if(score>highest)
 highest=score;// this will find the highest , as user is entering 
 else if(score<lowest)
 lowest=score;  // this will find the highest , as user is entering

if (score == 999) {
  average = sumOfScores / numberOfScores;
  System.out.println("Number of Scores you entered: " + numberOfScores);
  System.out.println("Highest Score: " + highest);
  System.out.println("Lowest Score: " + lowest);
  System.out.println("Average Score: " + average);
 }
}
++分数; System.out.println(“请输入成绩或输入999以完成>>”; score=input.nextInt(); 总和分数=总和分数+分数; ++分数; 最高=整数.MIN_值; 最低=整数。最大值; 如果(分数>最高) highest=score;//这将在用户输入时找到最高值
else if(score)由于没有证据表明对该代码执行了任何调试,因此我对该问题投了否决票。请通过您的问题向我们说明调试发现了什么,以及有关特定代码行的特定问题。请参阅:and。@JoeC“如何调试小程序”您链接到的网站似乎不适合通过类学习Java的初学者。当然,OP可以自己调试程序。我不认为这篇博文可以帮助他们学习如何这样做,目前还没有。请看这个问题,
score<100 | | score>0
是错误的。您必须使用:
score<100&&score>0
如果您添加一些关于代码的建议,而不是仅仅发布一些行,这在这个序列中甚至没有意义。对不起,我只是想,问题在于计算最高和最低值。非常抱歉:(可能这会有帮助:)我刚刚开始使用stackoverflow,所以只是熟悉一下,谢谢你告诉我