簡體   English   中英

Java-將字符從文件讀取到ArrayList

[英]Java - Read characters from file to ArrayList

我嘗試創建一個程序,該程序可以:1.從文件中讀取字符2.將這些字符添加到ArrayList 3.檢查是否只有a,b,c字符(沒有其他空格)

如果3為真-1.比較ArrayList中的第一個和最后一個字符,如果它們不同,則打印“ OK”

示例文件:abbcb-好的abbca-不好的bbc-不好的abdcb-不好的bbbca-好的

此刻我得到:

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;


public class Projekt3 
{
    public static void main(String[] args) throws IOException 
    {
        List<String> Lista = new ArrayList<String>();
        Scanner sc = new Scanner(System.in).useDelimiter("\\s*");
        while (!sc.hasNext("z")) 
        {
            char ch = sc.next().charAt(0);
            Lista.add(ch);

            //System.out.print("[" + ch + "] ");

        }
    }

}

我在將字符添加到列表時遇到問題。 我將不勝感激。

import java.io.*;
import java.util.ArrayList;

public class Project3 {

public static void main(String[] args) throws FileNotFoundException, IOException {

    BufferedReader reader = new BufferedReader(new FileReader("//home//azeez//Documents//sample")); //replace with your file path
    ArrayList<String> wordList = new ArrayList<>();
    String line = null;
    while ((line = reader.readLine()) != null) {
        wordList.add(line);
    }

    for (String word : wordList) {
        if (word.matches("^[abc]+$")) {
            if (word.charAt(0) == word.charAt(word.length() - 1)) {
                System.out.print(word + "-NOT OK" + " ");
            } else {
                System.out.print(word + "-OK" + " ");
               }
           }
       }
   }
}

我認為這對您來說是個好開始:

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Project3 {
public static void main(String[] args) {
    String path = "/Users/David/sandbox/java/test.txt";

    try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path)))) {

        String currentLine = null;

        // Array list for your words
        List<String> arrayList = new ArrayList<>();

        while ((currentLine = br.readLine()) != null) {
            // only a, b and c
            if (currentLine.contains("a") && currentLine.contains("b") && currentLine.contains("c")) {
                // start character equal end character
                if (currentLine.substring(0, 1)
                        .equals(currentLine.substring(currentLine.length()-1, currentLine.length()))) {
                    arrayList.add(currentLine);
                    System.out.println(currentLine);
                }
            }
        }
    } catch (Throwable e) {
        System.err.println("error on read file " + e.getMessage());
        e.printStackTrace();
    }
}
}

暫無
暫無

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

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