如何在GPA计算器中构建for循环?Java



如何在这个GPA计算器中构建for循环?全新的Java,对于我们的类,我们要求用户的成绩和学分4次,然后计算他们的平均值。我们被指示使用switch语句和循环,但没有太多其他指令。我们刚刚学习了for, while和do循环。这是我到目前为止所做的,不知道下一步该做什么。

这是应该的输出。

public static void main(String[] args) {
String grade = "";
int creditHour = 0;
int pointsPerCourse = 0;
double gpa = 0.0;

Scanner scnr = new Scanner(System.in);

System.out.println("tttpointsPerCourse Calculator");
System.out.println("This program will calculate pointsPerCourses based on course grades");

for ();
{
System.out.print("Enter grade: ");
grade = scnr.nextLine();

System.out.print("Enter number of credits for grade: ");
creditHour = Integer.parseInt(scnr.nextLine());
}

switch (grade) {
case "A":
pointsPerCourse = 4 * creditHour;
case "B":
pointsPerCourse = 3 * creditHour;
case "C":
pointsPerCourse = 2 * creditHour;
case "D":
pointsPerCourse = 1 * creditHour;
default:
pointsPerCourse = 0 * creditHour;
}   

gpa = (double) pointsPerCourse / creditHour;
System.out.printf("The GPA is %.1f ", gpa);
scnr.close();
}

我想你是想这样做:循环4次,并为

平均值添加积分和学分
import java.util.Scanner;
class Prog {
public static void main(String[] args) {
String grade = "";
int creditHour = 0;
int creditHourSum = 0;
int pointsPerCourse = 0;
double gpa = 0.0;
Scanner scnr = new Scanner(System.in);
System.out.println("tttpointsPerCourse Calculator");
System.out.println("This program will calculate pointsPerCourses based on course grades");
for (int i = 0; i < 4; i++) {
System.out.print("Enter grade: ");
grade = scnr.nextLine();
System.out.print("Enter number of credits for grade: ");
creditHour = Integer.parseInt(scnr.nextLine());
creditHourSum += creditHour;
switch (grade) {
case "A":
pointsPerCourse += 4 * creditHour;
break;
case "B":
pointsPerCourse += 3 * creditHour;
break;
case "C":
pointsPerCourse += 2 * creditHour;
break;
case "D":
pointsPerCourse += 1 * creditHour;
break;
default:
pointsPerCourse += 0 * creditHour;
}
System.out.println(pointsPerCourse);
}
gpa = (double) pointsPerCourse / creditHourSum;
System.out.println(pointsPerCourse + ", " + creditHourSum);
System.out.printf("The GPA is %.1f ", gpa);
scnr.close();
}
}

输出
This program will calculate pointsPerCourses based on course grades
Enter grade: A
Enter number of credits for grade: 4
16
Enter grade: E
Enter number of credits for grade: 4
16
Enter grade: B
Enter number of credits for grade: 4
28
Enter grade: C
Enter number of credits for grade: 3
34
34, 15
The GPA is 2.3

这不是golang,你不能像那样使用for循环,你想把你的开关箱放在循环中。有人建议使用while循环,但由于您只想循环4次,因此适当的for循环将为您完成。

for(int i = 0, i < 4, i++){
System.out.print("Enter grade: ");
grade = scnr.nextLine();

System.out.print("Enter number of credits for grade: ");
creditHour = Integer.parseInt(scnr.nextLine());

switch (grade) 
{

case "A":
pointsPerCourse = 4 * creditHour;
case "B":
pointsPerCourse = 3 * creditHour;
case "C":
pointsPerCourse = 2 * creditHour;
case "D":
pointsPerCourse = 1 * creditHour;

default:
pointsPerCourse = 0 * creditHour;
}
}

最新更新