Java-数组输出null
我的程序应该输出标签。当我运行它时,所有的输入都工作,但输出是错误的,它输出的所有内容都是Java-数组输出null,java,arrays,swing,user-interface,debugging,Java,Arrays,Swing,User Interface,Debugging,我的程序应该输出标签。当我运行它时,所有的输入都工作,但输出是错误的,它输出的所有内容都是null,对于标签的每个部分,除了框号 import javax.swing.JOptionPane; 公共类邮购实践{ 静态字符串nameAddressArray[]=新字符串[7]; 公共静态void main(字符串[]args){ //声明变量 字符串nameAddressArray[]=新字符串[7]; 字符串输入; 内特牛; 字符串enter=“Y”; 整数计数器; getLabelData()
null
,对于标签的每个部分,除了框号
import javax.swing.JOptionPane;
公共类邮购实践{
静态字符串nameAddressArray[]=新字符串[7];
公共静态void main(字符串[]args){
//声明变量
字符串nameAddressArray[]=新字符串[7];
字符串输入;
内特牛;
字符串enter=“Y”;
整数计数器;
getLabelData();
numBoxesInput=JOptionPane.showInputDialog(“按顺序输入框的数量:”);
numBoxes=Integer.parseInt(numBoxesInput);
//开始外部循环逻辑,确定用户何时完成输入邮件订单
while(输入另一个.equalsIgnoreCase(“Y”)){
计数器=1;
//开始内部循环以显示标签并递增计数器
而(counter您只需要在Main方法()中注释这一行
数组nameAddressArray
声明了两次。您有一个static
字段
static String nameAddressArray[] = new String[7];
在main
方法中还有一个同名的局部变量
String nameAddressArray[] = new String[7];
您的main
方法将值放入第二个数组,而getLabelData
方法使用的是static
字段中的值,这些值都是初始值(null
)
解决这个问题的一种方法是去掉局部变量,然后代码的两部分将使用相同的数组
或者,您可以去掉静态字段,将数组作为参数传递给getLabelData
方法。这可能是一个更好的解决方案,因为可变静态字段通常不是一个好主意。尝试调试您的代码编译并不意味着它是无错误的。如果它是无错误的,您就不会被发布ng在这里。我在我的公开课之后就有了它,对吗?它不会让我说两次。我在我的公开课之后有了它。现在它完全按照你的意愿工作了吗?如果是的话,请接受我的回答并投票。不,它不起作用。我不确定你的意思是我应该在哪里添加它,因为它已经存在了there@Grace确切地声明了两次。要么删除main中的一个,要么按照此(正确)答案中的建议,在开头添加/
,将其注释掉。@Grace嘿,见鬼!我所知道的答案都是正确的。为什么要选择距离和向下投票呢。
String nameAddressArray[] = new String[7];