java - Java Number Randomizer 的输出为 null
问题描述
在这个程序中,我创建了一个名为的类ArrayExample
,并创建了一个随机数来填充它的元素和一个toString()
方法。为什么我的输出为 null?该代码看起来没有错误。:
public class arran {
public static void main(String[] args) {
ArrayExample[] no1 = new ArrayExample[5];
System.out.println(Arrays.toString(no1));
}
public class ArrayExample {
int[] array;
ArrayExample(int len) {
array = new int[len];
for (int i = 0; i < array.length; i++) {
array[i] = (int) (Math.random() * 100);
}
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder(array.length);
for (int i = 0; i < array.length; i++) {
sb.append(array[i]);
}
return sb.toString();
}
}
}
解决方案
您正在创建ArrayExample[5]
,它是一个由五个对象组成的数组ArrayExample
,而不是一个ArrayExample
具有构造函数参数的5
. 看起来您的意图是调用构造函数ArrayExample(int len)
,但它从未被调用过。
试试这个,而不是:
public static void main(String[] args) {
ArrayExample no1 = new ArrayExample(5); // Invokes the constructor you wrote
System.out.println(no1.toString()); // Uses the toString method your wrote
}
使您的内部类静态,以便您的主要方法可以访问它:
public static class ArrayExample {
并修复您的.toString()
方法:
public String toString() {
return Arrays.toString(array);
}
推荐阅读
- javascript - 如何使用jquery将焦点移动到一个表格单元格中的表格中的文本框到另一个表格单元格
- javascript - 变量返回 true 但函数返回 false
- numpy - 即使在 cmd 中运行 pip install numpy 后,我也无法在 pycharm 中导入 numpy 并显示错误
- php - imagick 无法显示转换结果
- python - python django当我点击他的名字时如何只显示个人员工的信息
- python - 传统知识 | 制作 TTK 样式时图像“pyimage1”不存在
- javascript - 除非我刷新页面,否则 Mmenu 不会打开菜单
- unit-testing - 如何使用 DatabaseGenerated 字段对实体进行单元测试?
- firebase - Flutter 无法调用回调函数进行 Firebase 云混乱
- python - 尝试在 Mac 上使用 Python3 安装 MetaTrader5