Java 打印数组的内容只返回[null,null,null,null]
尝试使用printPresidentNames方法输出数组PresidentNames的内容时,我得到的输出结果是[null,null,null,null]将主方法的第一行更改为:Java 打印数组的内容只返回[null,null,null,null],java,arrays,Java,Arrays,尝试使用printPresidentNames方法输出数组PresidentNames的内容时,我得到的输出结果是[null,null,null,null]将主方法的第一行更改为: import java.util.Arrays; public class ArraysLab1 { static String[] PresidentNames = new String[5]; public static void main(String[] args) {
import java.util.Arrays;
public class ArraysLab1
{
static String[] PresidentNames = new String[5];
public static void main(String[] args)
{
//Declare an array of 5 strings
String[] PresidentNames = {"George Bush", "William J. Clinton", "George W. Bush", "Barrack H. Obama", "Donald J. Trump"};
//Print the array values using the printPresidentNames method
ArraysLab1.printPresidentNames();
//Sort the array of names
Arrays.sort(PresidentNames);
//Reprint the array values using the printPresidentNames method
ArraysLab1.printPresidentNames();
}
public static void printPresidentNames()
{
System.out.println(Arrays.toString(PresidentNames));
}
}
因为PresidentNames是类中的一个字段,您需要初始化它。在当前代码中,它被定义为main方法的局部变量。这是一个关于类成员的好方法。只要从主函数的第一行删除字符串[],它就会正常工作。@jrook这样做了,编译器会抛出一个错误,读取数组常量只能在初始化器中使用。这将修复它。这意味着我需要初始化它一次,然后在向它添加数据时再次初始化它?当我删除原始初始化时,它不能用任何方法解决。我得出的结论是,我需要初始化两次,否则它会崩溃并烧毁;看看它是否有效:
PresidentNames = new String[] {"George Bush", "William J. Clinton", "George W. Bush", "Barrack H. Obama", "Donald J. Trump"};