Java - 从文件读取字符到ArrayList

时间:2016-10-31 22:23:14

标签: java arraylist character

我尝试创建可以的程序:  1.从文件中读取字符  2.将这些字符添加到ArrayList  3.检查行内是否只有字符a,b,c(没有其他/没有空格)

如果3为真 -  1.比较第一& ArrayList中的最后一个字符,如果它们不同则打印“OK”

示例文件: abbcb - 好的 abbca - 不行 英国广播公司 - 不行 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 + "] ");

        }
    }

}

我在将字符添加到列表时遇到问题。我很感激你的帮助。

2 个答案:

答案 0 :(得分:0)

class Person(object):     
    def __init__(self, name):         
        self.name = 'Prof. ' + name  

答案 1 :(得分:-1)

我认为这对你来说是一个好的开始:

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();
    }
}
}