连接两个if else语句时如何解决错误?

时间:2019-09-22 20:44:53

标签: java intellij-idea

我是Java的新手,并创建了我的第一个项目,它是一个使用intellij的计算器。我创建了两个if else语句,第一个语句采用用户给定的平均值并将其转换为成绩。第二个应该是成绩,然后将其变成gpa。我已经宣布弦乐等级;和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语句。

2 个答案:

答案 0 :(得分:1)

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";        
}

答案 1 :(得分:0)

几个问题:

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){
...
...