gpt4 book ai didi

java - Java中面向对象编程的问题

转载 作者:行者123 更新时间:2023-12-04 11:22:56 25 4
gpt4 key购买 nike

所以我想首先告诉您我正在自学 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 的各位。您的帮助非常宝贵!!

最佳答案

您尚未初始化 ADVISOR_SCORE 和 All_users 数组,但您确实尝试分配值并使用它们。当你声明

double[] ADVISOR_SCORE; // this is null until assigned

在某些时候,它需要被赋值

ADVISOR_SCORE = new double[size];

关于java - Java中面向对象编程的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3710986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com