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];