Как я могу построить свой цикл for в этом калькуляторе GPA? Ява

#java #loops #switch-statement #gpa

Вопрос:

Как я могу построить свой цикл for в этом калькуляторе GPA? Совершенно новый для Java, и для нашего класса мы обязаны 4 раза запрашивать оценку пользователя и зачетные часы, а затем вычислять их среднее значение. Нам было поручено использовать операторы переключения и циклы, но не много других инструкций. Мы только что узнали о for, while и делаем циклы. Вот что у меня есть до сих пор, не знаю, что делать дальше.

Вот как должен выглядеть результат.

 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(); }  

Комментарии:

1. Работая с а Scanner , вам, вероятно, понадобится while петля.

Ответ №1:

Я думаю, вы пытаетесь сделать это: повторите цикл 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 lt; 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  

Комментарии:

1. Ух ты, спасибо тебе огромное! Я определенно забыл о » =»…

2. @ryanmonty42 Не могли бы вы, пожалуйста, принять ответ, если он вам подходит?

Ответ №2:

Это не голанг, вы не можете использовать такой for цикл, и вы хотите поместить свой корпус переключателя в цикл. Кто — то подсластил while цикл, но так как вы хотите сделать цикл только 4 раза, правильный for цикл сделает это за вас.

 for(int i = 0, i lt; 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;  } }  

Комментарии:

1. Ах, я понимаю, спасибо вам! Что меня смущало, так это то, что нужно было вставить в цикл for, я думал, что должен был вставить туда какую-то строку, но я должен придерживаться переменных «int i».