我有一个配置了学生姓名,ID和成绩等的数组。我正在编写一个从数组中提取成绩的方法,但我得到这个“布尔错误”,因为我有一个字符串。我该如何纠正?
以下是有问题的代码:
//code to print the students GPA based off the three grades received in class
public static void print_average_grade(String myStudentID)
{
for (Student variable : myStudent)
{
if (variable.getId() = (myStudentID)) //if statement is kicking back error....
{
double gpa = ((variable.getMyGradeA() + variable.getMyGradeB() + variable.getMyGradeC()) / 3);
System.out.println("Student with ID# " + myStudentID + " has a GPA of " + gpa);
}
答案 0 :(得分:0)
fmt.Println("Start of session")
defer fmt.Println("Room Empty")
for i := 0; i < 6; i++ {
s := Student{Name: "Student" + strconv.Itoa(i)}
s.Present()
defer s.Leave()
}
fmt.Println("End of session")
表示作业。为进行比较,请使用=
(按引用进行比较)或==
(按值进行比较)。
即,.equals()
应该是variable.getId() = (myStudentID)
答案 1 :(得分:-1)
=
是一个赋值运算符,这意味着它将RHS分配给LHS
foo=bar; //the variable foo now contains the value bar
要检查是否使用==
foo==bar; //returns true or false
但是,对于引用变量,==
仅检查它们是否引用同一个对象,因此为了比较两个Strings
,您应该使用
variable.getId.equals(myStudentId); //checks if the values of the Strings is the same