2012-02-18 112 views
1

我目前正在为一类项目,但有位编码与 ArrayList S的挣扎。这是尚未完成的代码;然而,当我正在处理enrollstudent 方法时,我遇到了一个问题,比较ArrayList与变量amountstudents的长度。Java数组列表的大小问题

以下是完整课程代码的副本。还有另外一个单独的课程,但我认为这里没有关系。

任何帮助将不胜感激。

import java.util.*; 
import java.util.Scanner; 

public class Course { 

    int amountstudents; 
    String coursename; 
    String level; 
    ArrayList<String> students = new ArrayList<String>(); 
    String tutor; 

    Scanner in = new Scanner(System.in); 

    public Course(int MaxCapacity) { 
     MaxCapacity = amountstudents; 
     tutor = "Not set yet"; 
     coursename = "Not set yet"; 
     level = "Not set yet"; 
    } 

    public void enrollstudent(String addstudent) { 
     if(students.size > amountstudents) { 
      System.out.println("Unfortunately the class is already full so you can not be enrolled at this time"); 
     } 
     else { 
      students.add(Student.fname); 
     } 
    } 

    public void courselevel() { 
     System.out.println("Please enter course level"); 
     level=in.next(); 
    } 

    public void coursetitle() { 
    } 
} 
+0

你跟这个有什么问题?我看到的唯一问题是'size'应该是'size()',因为它是'ArrayList'类的一个方法。 – 2012-02-18 16:21:43

+0

当你说你有比较的问题时,究竟是什么问题?是否有错误讯息? – erisco 2012-02-18 16:21:54

+0

嗨,欢迎回复,问题没有()后大小。致以我的问候。 – 2012-02-18 16:22:51

回答

3

这是students.size()而不是students.size

此外,还有另一个错误:

应该students.add(addstudent),不students.add(Student.fname)

+0

欢呼你的帮助。 – 2012-02-18 16:22:16

1

这是students.size(),因为studentsArrayList

+0

干杯! – 2012-02-18 16:26:41

1

你想用students.size()size是列表类型上的一种方法,而不是属性(如length在数组上)。

此外,在构造函数中,你有这样的逆转:

MaxCapacity = amountstudents; 

它应该是:

amountstudents = MaxCapacity; 
+0

欢呼你的帮助。 – 2012-02-18 16:25:56