我有一个对象数组,我想检查对象中的变量是否具有特定名称。最终我喜欢对数组中的每个对象执行此操作,但我只在第一个索引上测试它。我不确定数组列表是否会更好。 (我有单独的教师/教室/类(class)/课本/姓名类(class))
public static void startCourse(){
Course[] course = new Course[4];
Scanner input = new Scanner(System.in);
for(int i = 0;i < course.length;i++){
System.out.println("Enter Course Number and course title: ");
String courseNumber = input.nextLine();
String courseTitle = input.nextLine();
course[i] = new Course(courseNumber,courseTitle);
//FACULTY
System.out.println("Faculty: /nEnter First Name: ");
String facultyfName = input.nextLine();
System.out.println("Enter Last Name: ");
String facultylName = input.nextLine();
course[i].setFaculty(new Faculty(facultyfName,facultylName));//doesnt set name in constructor???
course[i].getFaculty().getName().setfName(facultyfName);
course[i].getFaculty().getName().setlName(facultylName);
course[i].setTextbook(new Textbook("Intro to java","123456",59.99));
course[i].setClassroom(new Classroom("R540",26,true));
Student student1 = new Student("Yulissa","Lucero");
Student student2 = new Student("Aaron","Folborg");
Student[] students = {student1,student2};
//input.close();
System.out.println(course[i]);
//System.out.println(students);
}
System.out.println(course[0].getFaculty().getName().equals("Ben"));
}
最佳答案
当您设置您使用以下语句的教师名称时,看到您的代码会感到困惑:
course[i].getFaculty().getName().setfName(facultyfName);
course[i].getFaculty().getName().setlName(facultylName);
这使得人们相信 getName() 将返回某种具有两个属性 fname 和 lname 的对象 但是当您比较教师姓名时,您使用以下语句:
course[0].getFaculty().getName().equals("Ben")
如何将Object与String进行比较,您应该使用getfName()或getlName()之类的东西。
关于java - 检查数组中的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46386348/