Как исправить ошибку при соединении двух операторов if else? - PullRequest
0 голосов
/ 22 сентября 2019

Я новичок в Java и создаю свой первый проект, который представляет собой калькулятор с использованием intellij.Я создал два оператора if else, первый из которых берет среднее значение, данное пользователем, и превращает его в оценку.Второй должен получить оценку, а затем превратить ее в гпа.я объявил класс String;и String gpa.

  if (avg >= 90.0 ) {
    grade = "A";
  } else if (avg >=80.0) {
    grade = "B";
  } else if (avg >=70.0){
    grade = "C";
  } else if (avg >=60.0) {
    grade = "D";
  } else {
    grade = "F";
  }
  System.out.println("Grade is  " + grade );
  if (grade = A ) {      
    gpa = "4.0";        
  } else if (grade = B) { 
    gpa = "3.0";        
  }

Редактировать: Решение с оценкой «равный класс» исправляет первую ошибку с красным подчеркиванием, но не компилируется.Поэтому я вместо этого использовал оператор switch, чтобы получить два оператора print.

Ответы [ 3 ]

1 голос
/ 23 сентября 2019
if (avg >= 90.0 ) {
   grade = "A";
} else if (avg >=80.0) {
   grade = "B";
} else if (avg >=70.0) {
   grade = "C";
} else if (avg >=60.0) {
   grade = "D";
} else {
   grade = "F";
}
System.out.println("Grade is  " + grade );
if (grade.equals("A")) {      
   gpa = "4.0";        
} else if (grade.equals("B")) { 
   gpa = "3.0";        
}
0 голосов
/ 23 сентября 2019

Несколько проблем:

if (grade = A ) 

, чтобы проверить, равно ли оно, вы должны использовать == (для сравнения ссылок) или equals для строки.

A - это не переменная, а строка, с которой вы хотите сравнить, поэтому она должна быть "A"

, в действительности нет смысла делать это в двух отдельных операторах if.сделать это один раз:

if (avg >= 90.0 ) {
   grade = "A";
   gpa = "4.0";
} else if (avg >=80.0) {
   grade = "B";
   gpa = "3.5";
} else if (avg >=70.0){
...
...
0 голосов
/ 22 сентября 2019

Вы пропустите точку с запятой в конце строки: grade = "C"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...