我有一个基于字符数组的问题。目前我有一个input
变量,它带有单词的第一个字母。
char input = scanner.nextLine().charAt(0);
我想要做的是每次输入,我想把它放在一个数组中,这样我就可以记录所有已经检索过的字母。我假设这是使用char []但我在实现将每个输入添加到数组时遇到了问题。
答案 0 :(得分:3)
char input = scanner.nextLine().charAt(0);
首先不清楚的是对象类型是扫描仪? 但是现在我假设scanner是Java.util.Scanner的扫描程序对象
如果是这样的话,scanner .nextLine()实际上返回一个String。 String有一个charAt()方法,允许你在字符串中的任何地方挑选一个字符。
但是scanner.nextLine()
获取整个行,而不仅仅是一个单词。所以真的scanner.nextLine().charAt(0)
正在获得该行中的第一个字符。
scanner.next()
会在该行中显示 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扫描器类的链接