Java 如何在程序中包含输入的整数必须介于0和100之间?

Java 如何在程序中包含输入的整数必须介于0和100之间?,java,Java,这个练习要求我计算平均值、最大值和最小值。我的代码实现了这个目的,但是我需要在代码的某个地方包含用户输入的考试分数必须在0到100之间。最好的方法是什么? 这是我的密码 import java.util.Scanner; import java.io.*; import java.text.DecimalFormat; public class hw { public static void main ( String[] args ) { int maxGrade = Integ

这个练习要求我计算平均值、最大值和最小值。我的代码实现了这个目的,但是我需要在代码的某个地方包含用户输入的考试分数必须在0到100之间。最好的方法是什么? 这是我的密码

import java.util.Scanner;
import java.io.*;
import java.text.DecimalFormat;


public class hw 
{
public static void main ( String[] args )
{
    int maxGrade = Integer.MIN_VALUE;
    int minGrade = Integer.MAX_VALUE;
    int count=0;
    int total=0;
    final int SENTINEL = -1;
    int score;

    Scanner scan = new Scanner( System.in);
    System.out.println( "To calculate the class average, enter each test   
    score.");
    System.out.println( "When you are finished, enter a -1.");

    System.out.print( "Enter the first test score > ");
    score = scan.nextInt();


    while (score != SENTINEL )
    {
        total += score;
        count ++;
        if( score > maxGrade)
            maxGrade = score;
        if( score < minGrade)
            minGrade = score;

        System.out.print("Enter the next test score > ");
        score = scan.nextInt();
    }
    if (count != 0)
    {
        DecimalFormat oneDecimalPlace = new DecimalFormat("0.0");
        System.out.println( "\nThe class average is " 
                + oneDecimalPlace.format( (double) (total) / count )); 
        System.out.println( "The minimum value is " + minGrade);
        System.out.println( "The maximum value is " + maxGrade);
    }
    else
        System.out.println("\nNo grades were entered");



    }

    }
import java.util.Scanner;
导入java.io.*;
导入java.text.DecimalFormat;
公共类硬件
{
公共静态void main(字符串[]args)
{
int maxGrade=Integer.MIN_值;
int minGrade=整数最大值;
整数计数=0;
int-total=0;
最终int SENTINEL=-1;
智力得分;
扫描仪扫描=新扫描仪(System.in);
System.out.println(“要计算类平均值,请输入每个测试
得分。”);
System.out.println(“完成后,输入a-1”);
系统输出打印(“输入第一次考试分数>”;
score=scan.nextInt();
while(得分!=哨兵)
{
总分+=总分;
计数++;
如果(分数>最大等级)
maxGrade=分数;
如果(分数”;
score=scan.nextInt();
}
如果(计数!=0)
{
DecimalFormat oneDecimalPlace=新的DecimalFormat(“0.0”);
System.out.println(“\n类平均值为”
+一分为二的格式((两倍)(总数)/计数);
System.out.println(“最小值为”+minGrade);
System.out.println(“最大值为”+maxGrade);
}
其他的
System.out.println(“\n未输入等级”);
}
}

谢谢大家!

创建一个嵌套循环,一旦用户满足条件,该循环将停止执行。大概是这样的:

while (score < 0 || score > 100) 
 {
   System.out.println("please enter a number between 0 and 100.");

        while(!scan.hasNextInt())
        {
             scan.next();
        }
      score = scan.nextInt();
  }
while(分数<0 | |分数>100)
{
System.out.println(“请输入一个介于0和100之间的数字”);
而(!scan.hasnetint())
{
scan.next();
}
score=scan.nextInt();
}
请注意,此代码尚未测试,这只是它应该是什么样子的想法。

您在哪里(以及如何)阻止处理
哨兵
?这似乎是对输入值实施限制的合适邻居。