我正在尝试编写一个程序,当用户输入数字等级时,系统将为用户提供字母等级。到目前为止,这是我的代码(将复制并粘贴A,A-,B +等)
import java.util.*;
import java.util.Scanner;
public class LetterGrade
{
static Scanner userInput = new Scanner(System.in);
public static void main(String[] args)
{
char grade;
System.out.println("Enter your grade in numeric form ");
if (userInput >= 97 && grade <= 100)
{grade = "A+";}
System.out.println("Your letter grade is " + grade);
}
}
我收到的错误消息是:
C:\Users\User\Desktop\Lab2>javac LetterGrade.java
LetterGrade.java:14: operator >= cannot be applied to java.util.Scanner,int
if (userInput >= 97 && grade <= 100)
^
LetterGrade.java:15: incompatible types
found : java.lang.String
required: char
{grade = "A+";}
^
2 errors
我使用Java不到一个星期,我不知道问题出在哪里。
编辑:发现“ A +”的问题。从炭级更改; ->字符串等级;。
答案 0 :(得分:2)
您正在尝试将int
与Scanner
对象进行比较。这没有多大意义。我认为您想尝试比较用户输入的内容。您可以使用nextInt()
方法来读取成绩的数值。像这样:
String letterGrade = "";
int grade = userInput.nextInt();
if(grade >= 97 && grade <= 100) {
letterGrade = "A+";
}
(请注意,letterGrade
必须是String
而不是char
,因为它必须是两个字符)