public class Roster extends ArrayList<Student>
{
public boolean containsStudent(String ln)
{
Scanner user_input = new Scanner (System.in);
System.out.println("Enter last name of student: ");
String lName = user_input.next();
for (Student student : this)
{
if (student.getLastName().equals(lName))
return true;
}
return false;
}
次の方法でエラーを修正するにはどうすればよいですか。
public Student retrieveByld(int id)
{
Scanner user_input = new Scanner (System.in);
System.out.println("Enter the ID of the student: ");
String idNum = user_input.next();
for (Student student : this)
{
if (student.getID().equals(idNum))
return student.getFullName();
}
return " ";
}
エラー: int は逆参照できません。.equals メソッドを使用して int と比較することはできないと思いますが、構文をあまり変更せずにどうすればよいでしょうか。
ID を指定して、プログラムにリスト内の学生を見つけさせ、その学生の氏名を返すようにする必要があります。学生が見つからない場合は、null を返す必要があります。それが役立つ場合は、ここに私の学生クラスがあります。
public class Student
{
private String lName, fName;
private int idNum;
public Student(int id, String fn, String ln)
{
lName = ln;
fName = fn;
idNum = id;
}
public String getFullName()
{
return fName + " " + lName;
}
public String getLastName()
{
return lName;
}
public String getFirstName()
{
return fName;
}
public int getID()
{
return idNum;
}
public String toString()
{
return fName + " " + lName + " " + idNum;
}
}