所以在我的第五行代码 [if(length == 2 || 1)]
我的 or 语句出现错误,说运算符 ||对于参数类型 boolean、int 未定义。关于我的语法有什么问题以及如何解决它的任何想法?谢谢!
//Write a program that translates a letter grade into a number grade. Letter grades are
//A B C D F, possibly followed by + or -. Their numeric values are 4, 3, 2, 1, and 0.
//There is no F+ or F-. A + increases the numeric value by 0.3, a - decreases it by 0.3.
//However, an A+ has the value 4.0. All other inputs have value –1.
//Enter a letter grade:
//使用带有方法 getNumericGrade 的类 Grade。
public class Grade {
private double grade = 0.0;
public double getNumericGrade(String letterGrade){
int length = letterGrade.length();
if(length == 2 || 1){
char startChar = letterGrade.charAt(0);
char endChar = letterGrade.charAt(1);
switch(startChar){
case 'A':
this.grade = 4.0;
break;
case 'B':
this.grade = 3.0;
break;
case 'C':
this.grade = 2.0;
break;
case 'D':
this.grade = 1.0;
break;
case 'F':
this.grade = 0.0;
break;
default:
this.grade = -1;
}
if(length == 2){
switch(endChar){
case '-':
this.grade = this.grade - .3;
break;
case '+':
if(startChar != 'A'){
this.grade = this.grade + .3;
}
break;
default:
this.grade = -1;
}
}
if(startChar == 'F' && length != 1){
this.grade = -1;
}
}else{
this.grade = -1;
}
return this.grade;
}
最佳答案
这意味着 ||
运算符不接受 boolean 值和整数,您必须给它两个 boolean 表达式。
if(length == 2 || length == 1)
关于java - 在带有字符串长度方法的 "or"语句中使用 "if"语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15468200/