import java.util.Scanner;
public class Yu {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int flag = 1;//设置重复循环的标识
while( flag == 1 ){
System.out.print("请输入你的平时成绩:");
int usual = sc.nextInt();
if (usual < 0 || usual > 40) { //平时成绩规范判定
while (usual < 0 || usual > 40) {
System.out.print("请重新输入你的平时成绩:");
usual = sc.nextInt();
}
}
System.out.print("请输入你想取得的总评成绩:");
int want = sc.nextInt();
if (want < 0 || want > 100) { //期望总评成绩规范判定
while ( want < 0 || want > 100) {
System.out.print("请重新输入你想取得的总评成绩:");
want = sc.nextInt();
}
}
double finals = ( want - usual ) / 0.6; //计算期末成绩
System.out.printf("你的期末成绩至少为:%.1f\n",finals); //输出期末成绩
System.out.print("\n");
System.out.print("是否重新计算?是输入1,否输入0:\n"); //通过询问判定是否再次循环
flag= sc.nextInt();
}
}
}
首先,要提前设置好程序循环执行的变量flag(很重要),然后就进入while的循环里了。
定义变量usual,通过输入获取平时成绩的值,并进行判定是否合法,若不合法,嵌套while提示重新输入,直到合法为止。
定义想取得总评成绩want,获取方式及判定方式同上。
定义finals,计算出期末成绩并输出。
最后通过flag的值判定while循环是否继续。