【发布时间】:2014-11-29 16:18:31
【问题描述】:
所以我需要打印出数组的不同实例。使用下面的代码。数组中的所有内容都会打印出来,即使是数组中没有填充任何内容的部分。如果我在每个 if 语句中添加一个 break 语句,它只会打印该数组的最后一个实例,而不是存储的所有内容。
public static void display(ExampleA[] example)
{
for(int pos = 0; pos < example.length; pos++)
{
output += "Example number " + (i + 1);
if(example[pos] instanceof A)
{
output += example[pos].toString() + "\n\n";
}
if(example[pos] instanceof B)
{
output += example[pos].toString() + "\n\n";
}
}
我想要它做的是打印出由实例组合在一起的数组中的所有内容。而不是部分为空的整个数组。
【问题讨论】:
-
提供一个测试用例。我不明白你的问题。
-
因此,例如我运行程序,数组中总共存储了 3 个对象。我不明白为什么数组中的所有空格都打印在 JOptionPane 中。如果我添加一个 break 语句,只有最后输入的实例会打印出来。
-
数组元素永远不会为空。您是否试图避免使用
null的元素?你的类层次结构是什么样的?casesA中有什么内容?您是什么意思“按实例分组”?此外,您似乎遇到了术语问题。请检查类、超类和实例的定义。 -
您可能想查看enhanced for loops(在页面底部)。它们使代码更简洁,更易于阅读。
-
如果你提供void display的调用方法(ExampleA[]例子)那么我们就可以达到你想要的......
标签: java arrays object tostring instanceof