为什么在这个Java代码中会出现空指针异常?

为什么在这个Java代码中会出现空指针异常?,java,nullpointerexception,Java,Nullpointerexception,此代码从两个单独的文件中接收用户和电影,并计算电影的用户分数。运行代码时,出现以下错误: Exception in thread "main" java.lang.NullPointerException at RecommenderSystem.makeRecommendation(RecommenderSystem.java:75) at RecommenderSystem.main(RecommenderSystem.java:24) 如果您发布的文件与生成您发布的堆栈跟踪

此代码从两个单独的文件中接收用户和电影,并计算电影的用户分数。运行代码时,出现以下错误:

Exception in thread "main" java.lang.NullPointerException at RecommenderSystem.makeRecommendation(RecommenderSystem.java:75) at RecommenderSystem.main(RecommenderSystem.java:24)
如果您发布的文件与生成您发布的堆栈跟踪的文件保持不变,则第75行的nullpointer异常位于以下代码中的某个位置:

weightAvNum = weightAvNum + (m_users[j].getRating(movieNumber)- m_users[j].getAverageRating())*(m_users[userNumber].similarityTo(m_users[j]));

因此,由于
m_users
不是空的(否则它会更早崩溃),因此
m_users[j]
m_users[userNumber]
都是空的,即
m_users
数组中有一些空元素。

如果您发布的文件与生成您发布的堆栈跟踪的文件没有变化,那么第75行的nullpointer异常就在代码中的某个地方:

weightAvNum = weightAvNum + (m_users[j].getRating(movieNumber)- m_users[j].getAverageRating())*(m_users[userNumber].similarityTo(m_users[j]));

因此,由于
m_users
不为null(否则它会更早崩溃),因此
m_users[j]
m_users[userNumber]
都为null,即。,
m\u users
数组中存在一些空元素。

请尝试打印m\u用户的内容。感谢这一帮助…由于上一个类中的大小声明,m\u users数组中存在空元素…请尝试打印m\u用户的内容。感谢这一帮助…由于大小问题,m\u users数组中存在空元素上一个类中的声明。。。