程序概述
该程序首先通过Scanner
类从标准输入读取用户输入。然后,它使用while
循环来不断接收用户输入,直到用户决定停止。在每次循环中,程序会要求用户输入总评分数和平时分,然后检查这些输入是否在有效范围内(总评分数在0到100之间,平时分在0到40之间)。如果输入有效,程序会计算出期末考所需分数并显示给用户;如果输入无效,程序会输出相应的错误信息。
代码实现
以下是该程序的完整代码:
import java.util.Scanner;
public class Score {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
boolean keepGoing = true;// 定义一个布尔变量keepGoing,并初始化为true,用于控制某个循环或操作是否应该继续执行
while (keepGoing) {// 使用while循环来持续接收用户输入,直到用户决定停止
System.out.println("请输入想取得的总评分数:");
double totalScore = in.nextDouble();
System.out.println("请输入当前平时分:");
double usualScore = in.nextDouble();
double finalScore = totalScore - usualScore;
if (totalScore >= 0 && totalScore <= 100) {
if (usualScore >= 0 && usualScore <= 40) {
System.out.println("期末考所需分数:" + finalScore);
} else {
System.out.println("错误:平时分应在0到40之间");
}
} else {
System.out.println("错误:总评分数应在0到100之间");
}
System.out.println("是否继续?(y/n): ");
String choice = in.next();
if (!"y".equalsIgnoreCase(choice)) {// 根据用户的选择决定是否继续循环
keepGoing = false;// 如果用户输入的不是'y'或'Y',则停止循环
}
}
}
}
程序特点
-
用户交互:通过
Scanner
类,程序能够读取用户的输入,并根据这些输入执行相应的操作。 -
循环控制:
while
循环用于控制程序的流程,使得用户能够多次输入并接收反馈,直到他们决定停止。 -
错误处理:程序通过条件判断来检查用户输入的总评分数和平时分是否在有效范围内,并在必要时输出错误信息。