這是家庭作業,所以我不指望你爲我做。在單獨的類中訪問私有變量?
我有一個程序,根據學生的ID號排列學生。問題在於創建學生的學生課程(由我的教師提供,無法更改)將ID設置爲私人,所以我無法在調用函數中訪問它們。
這是學生類:
public class StudentQ {
private String name;
private int id;
private double avg;
StudentQ(String sname, int sid, double average){
name=sname;
id=sid;
avg=average;
}
// Note this uses the String static method format to produce a string
// in the same way that System.out.printf does
public String toString(){
return String.format("%15s [%6d]:%7.2f", name,id,avg);
}
public String getName(){
return name;
}
public int getID(){
return id;
}
public double getAverage(){
return avg;
}
public void setAverage(double newavg){
avg=newavg;
}
}
,這是我的排序類:
static void sortByID(StudentQ[] students) {
for (int lastPlace = students.length-1; lastPlace > 0; lastPlace--) {
int maxLoc = 0;
for (int j = 1; j <= lastPlace; j++) {
if (students[j].getID() > students[maxLoc].getID()) {
maxLoc = j;
}
}
int temp = students[maxLoc].getID();
*students[maxLoc].id = students[lastPlace].id;
students[lastPlace].id= temp;*
}
}
,現在是這樣的,它給了我和錯誤,指出該領域StudentQ.id是不可見,我不能使用.getID(),因爲它試圖給一個方法賦值。
謝謝。
_and我不能使用.getID(),因爲它試圖給一個方法賦值._你是什麼意思,你爲什麼這麼認爲? –
我認爲「that」指的是'students [maxLoc] .id = students [lastPlace] .id'部分,而不是getter。 – guest
您是否允許使用Java Collections排序方法? – xagyg