gpt4 book ai didi

java - 循环遍历每个数组以创建形状

转载 作者:行者123 更新时间:2023-12-01 15:43:21 25 4
gpt4 key购买 nike

我试图让paintCOmponent方法循环遍历数组的每个元素并调用显示方法,到目前为止我做到了

public void paintComponent (Graphics g)
{
super.paintComponent(g);
for(int i = 0; i < drawObjects.length; i++){
drawObjects[i].display(g);
}
}

我还尝试了 foreach 循环

public void paintComponent (Graphics g)
{
super.paintComponent(g);
for(Shape s : drawObjects)
s.display(g);
}

我遇到了这个错误

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at ShapePanel.paintComponent(ShapePanel.java:70)

谁能向我解释一下我做错了什么吗?

最佳答案

您创建了一个数组,但没有完全填充它。当你创建一个数组时,它充满了 null s,当您尝试使用 . 时运算符为 null,您将得到 NullPointerException。您要么需要在尝试迭代数组之前确保数组已完全填充,要么在循环内添加空检查,以便您只尝试 display()如果它不为空,则为该事物。

如果您确实要显示的内容数量不定,则应该考虑使用某种 List ,就像 ArrayList ,而不是数组,因为列表的大小可能不同,并且不会包含 null,除非您将一个列表放在那里。

关于java - 循环遍历每个数组以创建形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7624047/

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