所以,我有Students.java和TestStudents.java。我应该创建3个学生对象,然后给他们分配3-5个类(courseName、creditHours和letterGrade),然后打印出这5个班级的平均成绩。我创造了学生,但我迷失了的是用与每个学生相关的课程信息来填充数组。我想我开发了一个带有数组的弱点,我理解使用循环来填充它--但是循环的参数是什么,以及如何使数组针对每个学生呢?
我面临的另一个挑战是,没有人确切地告诉我这门课在做什么,只是它是必要的,显然包含了computeGPA方法
import codelibraries.chp10.Course;
public class Students
{
private String _fname;
private String _lname;
private Course[] _carry;
private int _numCourses;
public Students(String first, String last, int NumCourses)
{
_fname = first;
_lname = last;
_numCourses=NumCourses;
_carry = new Course[NumCourses];
}
//THIS IS WHERE IM LOST
public void createCourse(String courseName, int creditHours, char letterGrade)
{
Course tempCourse = new Course(courseName, creditHours, letterGrade);
_carry[] = tempCourse;
}
public String toString()
{
return "Student " + _fname + " " + _lname + " has a " + Course.computeGPA(_carry) + " GPA";
}
}主程序
public class TestStudents
{
public static void main (String[] args)
{
Students Jane = new Students ("Jane", "Doe", 5);
Jane.createCourse("Math", 4, 'A');
Jane.createCourse("English", 3, 'A');
Jane.createCourse("CS", 4, 'A');
Jane.createCourse("Chemistry", 3, 'B');
Jane.createCourse("Health", 2, 'B');
//Automatically calls toString
Students John = new Students ("John", "Smith", 5);
Students David = new Students ("David", "Hill", 3);
System.out.println(Jane);
System.out.println(John);
System.out.println(David);
}
}这是一条我正在尝试的路,但我真的不知道。
public void createCourse(String courseName, int creditHours, char letterGrade)
{
Course tempCourse = new Course(courseName, creditHours, letterGrade);
int i = 1;
if (_carry[i]!=null){
i++;
}
_carry[i] = tempCourse;
}发布于 2015-08-26 17:20:05
可以为数组中的第一个未赋值的索引赋值如下:
for( int i =0; i< _carry.length; i++) {
if(_carry[i] == null) {
_carry[i] = course;
break;
}
}但是,为此使用数组并不理想。如果有可变长度的项列表,则列表更适合,因为您只需向其中添加更多项即可。
https://stackoverflow.com/questions/32232672
复制相似问题