【问题标题】:How to add a char into an array?如何将字符添加到数组中?
【发布时间】:2018-05-08 14:15:21
【问题描述】:

我有一个基于字符数组的问题。目前我有一个input 变量,它接受单词的第一个字母。

char input = scanner.nextLine().charAt(0);

我想要做的是每次输入,我想把它放在一个数组中,这样我就可以记录所有检索到的字母。我假设这是使用 char[] 但我无法实现将每个输入添加到数组中。

【问题讨论】:

  • scanner.next() 看看this 之前提出的问题。
  • 如果您的代码有问题,请在此处记下该代码。如果您在编写该代码时遇到问题:任何好书或教程都会告诉您如何创建数组,并举例说明如何使用它们。

标签: java arrays char


【解决方案1】:
char input = scanner.nextLine().charAt(0);

首先不清楚的是扫描仪是什么对象类型? 但现在我假设扫描仪是 Java.util.Scanner 中的 Scanner 对象

如果是这种情况,scanner.nextLine() 实际上会返回一个字符串。 String 有一个 charAt() 方法,可以让你在字符串中的任意位置选择一个字符。

但是scanner.nextLine() 正在获取整个 行,而不仅仅是一个词。所以真的scanner.nextLine().charAt(0) 正在获取该行中的第一个字符。

scanner.next() 会给你一行中的下一个字。 如果该行包含“Hello World” scanner.next().charAt(0) 将返回字符“H”。 下一次调用scanner.next().charAt(0) 将返回字符'W'

public static void main(String[] args) {
    boolean finished = false;
    ArrayList<Character> firstLetters = new ArrayList<>();
    Scanner scanner = new Scanner(System.in);
    while (!finished) {
        firstLetters.add(scanner.next().charAt(0));
    }
}

上面的代码示例可能会为您提供您正在寻找的行为。 请注意,while 循环将永远运行,直到 finished 变为真。 您的程序必须决定何时将 finished 设置为 true。

这里有几个关于 Java 的 Scanner 类的链接

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-09
    • 2020-05-30
    • 2019-12-28
    • 1970-01-01
    相关资源
    最近更新 更多