繁体   English   中英

Java ArrayList,如何一次列出一个?

[英]Java ArrayList, how to list one at a time?

因此,我正在做一个快速例外程序,在该程序中,我只要求用户输入10个名称,这些名称将被传输到.txt文件中。 我需要一个arrayList,所以现在的问题是,每当用户输入名称时,顾问也会在其之前输出所有以前的名称。 有人可以告诉我如何一次打印一个ArrayList吗?

Ex. Please enter name 1: Wei
Please enter name 2: ming
Please enter name 3: guo

目前,这是我的输出结果:

    /*      
* Please enter name 1:[wei]
Please enter name 2:[wei, ming]
Please enter name 3:[wei, ming, guo]
Please enter name 4:[wei, ming, guo, wei]
Please enter name 5:[wei, ming, guo, wei, ming]
Please enter name 6:[wei, ming, guo, wei, ming, dfuo]
Please enter name 7:[wei, ming, guo, wei, ming, dfuo, wer]
Please enter name 8:[wei, ming, guo, wei, ming, dfuo, wer, sdf]
Please enter name 9:[wei, ming, guo, wei, ming, dfuo, wer, sdf, sdf]
Please enter name 10:[wei, ming, guo, wei, ming, dfuo, wer, sdf, sdf, sdf]
*/

import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;

public class NamesDemo {

    public static void main(String[] args) {
        String NamesDemo = "names.txt";
        PrintWriter outputStream = null;
        try {
            outputStream = new PrintWriter(NamesDemo);
        } catch (FileNotFoundException e) {
            System.out.println("Error opening the file " + NamesDemo);
            System.exit(0);
        }

        System.out.println("Enter 10 names: ");
        Scanner kb = new Scanner(System.in);
        ArrayList<String> name = new ArrayList<String>();

        for (int i = 0; i < 10; i++) {
            name.add(kb.next());
            outputStream.println("Please enter name " + (i + 1) + ":" + name);

        }
        outputStream.close();
        System.out.println("Thse names were sent to file: " + NamesDemo);
    }

}

只需打印最后输入的值而不是整个列表:

for (int i =0; i<10; i++){
    String newValue = kb.next();
    name.add(newValue);
    outputStream.println("Please enter name " + (i+1) + ":" + newValue);

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM