簡體   English   中英

從輸入讀取行到arraylist java

[英]Read lines from input into arraylist java

我正在嘗試將用戶輸入的行讀入arraylist。

Scanner scan = new Scanner(System.in);
    ArrayList<String> lines = new ArrayList<String>();
    while (true) {
        if (scan.nextLine().equals("")) {
            break;
        }
        for (String s : lines) {
            lines.add(scan.nextLine());
        }
    }

    for (int i = 0; i < lines.size(); i++) {
        System.out.println(lines.get(i));
    }

問題是last for循環不會運行。 我不太明白為什么闖入while循環不僅會在while循環中停止。

我不知道你為什么使用for (String s : lines)循環。 在代碼中scan.nextLine()被調用了兩次。 因此,它可能會跳過替代值。 另外,lines沒有任何值,因此for (String s : lines)條件不允許插入任何值。 所以只有它不顯示價值。

試試這個代碼

        Scanner scan = new Scanner(System.in);
        ArrayList<String> lines = new ArrayList<String>();
        String s;
        while (true) {
            s = scan.nextLine();
            if (s.equals("")) {
                break;
            }
            lines.add(s);
        }

        for (int i = 0; i < lines.size(); i++) {
            System.out.println(lines.get(i));
        }

這里使用以下代碼

Scanner scan = new Scanner(System.in);
    ArrayList<String> lines = new ArrayList<String>();
    String s=null;
    while (true) {
        s=scan.nextLine();
        if (s.equals("")) {
            break;
        }else{
            lines.add(s);
        }
    }

    for (int i = 0; i < lines.size(); i++) {
        System.out.println(lines.get(i));
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM