private static String[] nameArray;
public static void newPerson() {
Scanner scanner = new Scanner(System.in);
System.out.print("Name: ");
name = scanner.nextLine();
nameArray = new String[] {
name
};
}
public static void personInfo() {
System.out.print("Current Persons : \n");
StringBuilder arrayOutput = new StringBuilder();
for (String something: nameArray) {
arrayOutput.append(something);
}
String text = arrayOutput.toString();
System.out.println(text);
}
大家好,提前感谢您的帮助,我遇到了一个问题,我有一个循环,一旦在该方法中输入数字,就会调用一个方法,如下:
所以我的问题是,每当我调用 newPerson 方法并输入一个名称,而不是将所有名称存储在数组中并稍后打印时,personInfo 方法只打印我在数组中输入的最终名称,为什么它不显示所有的名字?
最佳答案
您将在每次输入后完全替换 nameArray。您必须将其添加到您的数组中。但在这种情况下使用“ArrayList”更容易。
基于您提供的代码构建:
private static ArrayList<String> nameArray = new ArrayList<>();
public static void newPerson() {
Scanner scanner = new Scanner(System.in);
System.out.print("Name: ");
name = scanner.nextLine();
nameArray.add(name);
}
public static void personInfo() {
System.out.print("Current Persons : \n");
StringBuilder arrayOutput = new StringBuilder();
for ( String something : nameArray) {
arrayOutput.append(something);
}
String text = arrayOutput.toString();
System.out.println(text);
}
关于java - JAVA数组只打印最后一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38518978/