有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何将char[]数组的内容添加到新的char[]字母中?JAVA

我尝试在迭代器中实现hasNext()方法

public boolean hasNext() {
       filename = this.fileContent.getFileName();
       int charLineSize = 0;
       Scanner in = null;
       ArrayList<Character> charList = new ArrayList<>

       try(Scanner scanner = new Scanner(new BufferedReader(new FileReader(filePath)))) {

           while (scanner.hasNextLine()) {
               String line = scanner.nextLine();
               charLineSize = line.split("\\s+").length;
               String wordsline = line.split("\\s+").toLowerCase();
               charList.addAll(new ArrayList<>(wordsline.chars().mapToObj(c -> (char) c).collect(Collectors.toList())));
            }
        } catch(FileNotFoundException e) {
            System.out.println(e);
        }
        if (index < charLineSize) {
          return true;
        } else {
          return false;
        }
   }

    public String next() {
       if (hasNext()) {
           return charList.get(index++);
       } else {
           return null;
       }
    }

首先,我在这里把线分成了字符。将所有字符存储在charList中并在扫描仪扫描每一行后进行更新是否正确

我想在Next()方法中获取特定字符


共 (2) 个答案

  1. # 1 楼答案

    要转换为字符数组并添加内容,可以使用以下方法:

    1. 转换为字符数组:

      line.toCharArray()

    2. 从char数组获取列表:

      ArrayList<Character> charList = new ArrayList<>(line.chars().mapToObj(c -> (char) c).collect(Collectors.toList()));

    3. 要添加内容,请执行以下操作:

      charList.add(c);

  2. # 2 楼答案

    How to split them into chars?

    使用^{}

    Second, when I do so, how to add the content of letters to char[] array after each line?

    不能。一旦创建了数组,就不能更改其大小。这意味着您需要事先知道字符总数,但情况可能并非如此

    array声明为可以调用array.add(char)的字符列表

    List<Character> array = new ArrayList<>();