【发布时间】:2020-10-17 09:51:13
【问题描述】:
请注意,我是一个完全的编程初学者,并且发现学习 Java 非常困难。我有一项学校任务需要我为 toString() 方法编写代码,我盲目地遵循老师在课堂上编写/教授的内容,但由于某种原因,我的代码在运行时似乎不起作用测试文件?我在下面包含了我的代码。
我确实收到一条错误消息,内容如下 - “空指针访问:变量 coef 在此位置只能为空” 但是当我更改所有 coef[] 变量时,我的代码变得没有实际意义,因为它只是等同于 null。
任何指针都非常感谢!
编辑 1:感谢您的回复 - 我认为我需要将 coef[] 初始化为我的 toString() 方法中的变量(天啊!!)。还要感谢您提供指向 NullPointer 问题的链接 - 它有一些非常详尽的解释,现在我知道我取消了对 coeff[] 变量的引用。
QUERY a:我删除了我的第一行,但现在我的代码似乎在这一行失败了return coef[1]+ "x + " + coef[0];
QUERY b:很想知道为什么类是复数是一个不好的迹象?
public class Polynomials {
public Double coefficient;
public Integer exponent;
private int[] coef;
public String toString() {
String[] coef = null;
if (exponent <= -1)
return "0";
else if (exponent == 0)
return "" + coef[0];
else if (exponent == 1)
return coef[1]+ "x + " + coef[0];
String s = coef[exponent] + "x^" + exponent;
return s;
}
【问题讨论】:
-
String[] coef = null;当您尝试访问索引 coef[0] 处的数组时,这会导致空指针
-
为什么要在
toString()方法中定义变量String[] coef?您已经有一个同名的private int[] coef字段。
标签: java tostring polynomials