所以我想告訴你我自己正在學習Java,而你們是我最喜歡的教師。非常感謝你支持我這個簡單而明顯的問題。我只是想學習。我再次得到一個錯誤,對於我的生活我無法弄清楚。Java中面向對象編程的問題
以下是錯誤:
Exception in thread "main" java.lang.NullPointerException
at Advisor_score.All_user.Score1(All_user.java:13)
at Advisor_score.All_user.main(All_user.java:28)
這裏是我的評級類代碼:
package Advisor_score;
public class Rating {
double [] Ratings;
double sum=0;
double raw_advisor;
double advisor_score;
public Rating (double [] x){
Ratings = x;
}
public double Score(){
for(int i=2;i<Ratings.length;i++){
sum+=Ratings[i];
}
raw_advisor=((sum-(3*(Ratings.length-2)))/4);
advisor_score= 2.5+(2.5*(1-Math.pow(Math.E, -.5*raw_advisor)));
return advisor_score;
}
這裏是我的其他類代碼:
package Advisor_score;
public class All_user{
double [] ADVISOR_SCORE;
Rating [] All_users;
double score;
public All_user(Rating...args){
All_users=args;
}
public double [] Score1(){
for (int j = 0;j<All_users.length;j++){
score=All_users[j].Score();
ADVISOR_SCORE[j]=score;
}
return ADVISOR_SCORE;
}
public void print(){
for(int i = 0;i<ADVISOR_SCORE.length;i++){
System.out.println(ADVISOR_SCORE[i]);
}
}
public static void main(String[] args){
double p1_1[] = {101,1,5,5,5};
double p2_1[] = {101,1,1,2,3};
Rating d = new Rating(p1_1);
Rating e = new Rating(p2_1);
All_user all=new All_user(d, e);
all.Score1();
all.print();
}
}
同樣,我無法在StackOverflow上感謝你們。你的幫助是無價的!
我也想給你一些建議 - 使用List而不是數組;遵循java命名約定;擁抱每個循環結構。 – Robert 2010-09-14 16:49:57
Robert的評論後續內容,這裏是一個標準Java約定的鏈接,它將幫助你的Java代碼看起來更像Java。 :) http://www.oracle.com/technetwork/java/codeconv-138413.html – romacafe 2010-09-14 17:04:15