[英]Cant figure out how display array of objects Java
public class CollegeCourse
{
private String courseID;
private int creditHours;
private char grade;
public String getCourse()
{
return courseID;
}
public int getCredits()
{
return creditHours;
}
public char getGrade()
{
return grade;
}
public void setCourse(String cid)
{
courseID=cid;
}
public void setCredits(int hours)
{
creditHours=hours;
}
public void setGrade(char g)
{
grade=g;
}
}
public class Student
{
private int studentID;
private CollegeCourse[] classes=new CollegeCourse[5];
public int getID()
{
return studentID;
}
public void setStudentID(int s)
{
studentID=s;
}
public CollegeCourse getCourses(int x)
{
CollegeCourse course=classes[x];
return course;
}
public void setObject(CollegeCourse obj,int x)
{
classes[x]=obj;
}
}
import java.util.Scanner;
public class InputGrades
{
public static void main(String[] args)
{
String course;
int credits;
char grade;
Student[] grades=new Student[10];
Scanner input=new Scanner(System.in);
for (int x=0;x<1;x++)
{
grades[x]=new Student();
System.out.println("Enter ID for student #"+(x+1));
grades[x].setStudentID(input.nextInt());
for(int y=0;y<5;y++)
{
CollegeCourse one=new CollegeCourse();
input.nextLine();
System.out.println("Enter course ID for class number "+y);
one.setCourse(input.nextLine());
System.out.println("Enter credits for "+y);
one.setCredits(input.nextInt());
input.nextLine();
System.out.println("Enter a grade for "+y);
one.setGrade(input.nextLine().charAt(0));
grades[x].setObject(one, y);
}
}
for (int i=0;i<1;i++)
{
for (int j=0;j<5;j++)
{
System.out.println("Course: "+grades[i].getCourses(j));
//Cant figure out how to print this
}
}
}
}
它會打印出學生證號。 然后為“ j” for循環下顯示的剩余課程打印一堆垃圾。 我似乎無法弄清楚...任何幫助將不勝感激
您正在指定索引處打印對CollegeCourse對象的引用。
您可以為CollegeCourse編寫toString()
方法以打印出您感興趣的屬性,或者可以更改現有行:
System.out.println("Course: "+grades[i].getCourses(j).getCourse());
我敢打賭,“垃圾堆”是該數組或其包含的對象的對象引用。
您的對象需要重寫toString(),並且容器需要遍歷內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.