2015-12-02 42 views
0
/* 
c - csis 
a - acct 
b - busn 
p - phys 

*/ 
class CourseInfo { 

    private String courseTitle; 
    private double coursePrice; 
    private int courseSeatsAvail; 
    private String courseDesc; 
    private char courseType; 

    private static String empPassword; 

    CourseInfo(String crseTitle, double crsePrice, int crseSeats, String crseDesc, char type) { 

    courseTitle = crseTitle; 
    coursePrice = crsePrice; 
    courseSeatsAvail = crseSeats; 
    courseDesc = crseDesc; 
    courseType = type; 
    } 

    /* 
    * Finish the class with the set/get methods 
    */ 
} 

/////////////////////////////// 

class CourseList { 

    CourseInfo[] courseList; 

    public void createList() { 

    courseList = new CourseInfo[11]; 

    courseList[0] = new CourseInfo("acct110", 375.49, 35, "this course teaches \nbasic accounting practice", 'a'); 
    courseList[1] = new CourseInfo("busn110", 375.49, 35, "this course teaches \nbasic business pratice", 'b'); 
    courseList[2] = new CourseInfo("busn240", 375.49, 35, "this course teaches \nadvance business pratice", 'b'); 
    courseList[3] = new CourseInfo("csis110", 375.49, 2, "this course teaches \nbasic computing pratice", 'c'); 
    courseList[4] = new CourseInfo("csis220", 375.49, 35, "this course teaches \nR language", 'c'); 
    courseList[5] = new CourseInfo("csis290", 375.49, 25, "this course teaches \nbasic hardware pratice", 'c'); 
    courseList[6] = new CourseInfo("csis340", 375.49, 35, "this course teaches \nadvance CPU tech", 'c'); 
    courseList[7] = new CourseInfo("csis420", 375.49, 17, "this course teaches \nbasic computer graphics", 'c'); 
    courseList[8] = new CourseInfo("csis491", 375.49, 3, "this course teaches \nbasic game programming", 'c'); 
    courseList[9] = new CourseInfo("phys120", 499.19, 30, "this course teaches \nbasic physics theory", 'p'); 
    courseList[10] = new CourseInfo("phys240", 399.99, 35, "this course teaches \nbasic quantum mechanics", 'p'); 

    } 
} 

我想从一个不同的.java文件访问CreateList中的数据,但我的导师希望我以这种具体的方式使用私有变量来设置和获取,并且我不知道如何继续。我知道如何创建基本集并获取,但我不明白他们如何使用CourseInfo构造函数。如何将数组元素指定给私有变量并在另一个类中使用它们?

+1

两个提示:'私人CourseInfo [] courseList'和'公共CourseInfo [] getCourseInfo()'。 – Makoto

+0

你提到'CreateList',但它没有在代码中描述或显示。它是什么?数组与你的代码有什么关系? – erickson

+0

@erickson'CreateList'可能引用他们的类方法'CourseList.createList()' – CubeJockey

回答

-1

'Getters'和'setters'用于封装Java中的变量/对象。这意味着(如你的教练所说),你应该使变数私人和吸气器和设置器公众

例如:

private String courseTitle; 

此变量仅在类中访问,这样才能够从类的外部得到这个变量(即无论你使用的是CourseList从),你需要创建一个getter(以获取变量)和一个setter(更改变量的值)。如下:

// Getter 
public String getCourseTitle() { 
    return this.courseTitle; 
} 

// Setter 
public void setCourseTitle(String newCourseTitle) { 
    this.courseTitle = newCourseTitle; 
} 

你可以阅读更多关于封装here

现在,来获取值,使用吸气,如下(假设courseInfo是CourseInfo对象):

String data = courseInfo.getCourseTitle(); 
+0

请问downvoter,请解释他们为什么downvoted? – Bimde

+0

当我尝试使用CourseInfo courseInfo = new CourseInfo();' '在我的调用类(CourseRegister)中创建CourseInfo对象时,我得到了 'CourseRegister。java:13:error:构造函数CourseInfo类中的CourseInfo不能应用于给定的类型; CourseInfo courseInfo = new CourseInfo(); ^ 必需:String,double,int,String,char found:无参数 原因:实际和正式参数列表长度不同 –

+0

这是因为您没有没有参数的构造函数。您只需在CourseInfo类中添加一个构造函数,如下所示:'public CourseInfo(){}' – Bimde

-1

尽力为每个变量创建了一套这样做并获得方法,如: private String courseTitle;

public String getCourseTitle() { 
    return courseTitle; 
} 

public void setCourseTitle(String courseTitle) { 
    this.courseTitle = courseTitle; 
} 

而且在CourseList类尝试设置的courseTitle这样的值:

setCourseTitle("value of courseTitle"); 

比你能得到它像这样:

String var = getCourseTitle(); 

并使用你在哪里值想要例如将其添加到数组courseList

相关问题