首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用课程信息填充课程数组

用课程信息填充课程数组
EN

Stack Overflow用户
提问于 2015-08-26 17:11:21
回答 1查看 170关注 0票数 0

所以,我有Students.java和TestStudents.java。我应该创建3个学生对象,然后给他们分配3-5个类(courseName、creditHours和letterGrade),然后打印出这5个班级的平均成绩。我创造了学生,但我迷失了的是用与每个学生相关的课程信息来填充数组。我想我开发了一个带有数组的弱点,我理解使用循环来填充它--但是循环的参数是什么,以及如何使数组针对每个学生呢?

我面临的另一个挑战是,没有人确切地告诉我这门课在做什么,只是它是必要的,显然包含了computeGPA方法

代码语言:javascript
复制
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"; 
  }


}

主程序

代码语言:javascript
复制
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);
  }
 }

这是一条我正在尝试的路,但我真的不知道。

代码语言:javascript
复制
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;
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-26 17:20:05

可以为数组中的第一个未赋值的索引赋值如下:

代码语言:javascript
复制
for( int i =0; i< _carry.length; i++) {
    if(_carry[i] == null) {
        _carry[i] = course;
        break;
    }
}

但是,为此使用数组并不理想。如果有可变长度的项列表,则列表更适合,因为您只需向其中添加更多项即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32232672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档