java 已知有一个List数组存储30个字母,键盘上输入字母在控制台中出现的次数,一次都没有输为-1
时间: 2023-05-18 17:06:28 浏览: 103
统计字母,空格出现次数
这是一个比较简单的问题,可以通过遍历 List 数组并使用 HashMap 来统计每个字母出现的次数。以下是示例代码:
```
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Character> letters = new ArrayList<>();
// 假设 List 数组中已经存储了 30 个字母
// 这里只是为了演示,手动添加了一些字母
letters.add('a');
letters.add('b');
letters.add('c');
letters.add('d');
letters.add('e');
letters.add('f');
letters.add('g');
letters.add('h');
letters.add('i');
letters.add('j');
letters.add('k');
letters.add('l');
letters.add('m');
letters.add('n');
letters.add('o');
letters.add('p');
letters.add('q');
letters.add('r');
letters.add('s');
letters.add('t');
letters.add('u');
letters.add('v');
letters.add('w');
letters.add('x');
letters.add('y');
letters.add('z');
letters.add('a');
letters.add('b');
letters.add('c');
letters.add('d');
letters.add('e');
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字母:");
String input = scanner.nextLine();
char c = input.charAt(0);
Map<Character, Integer> countMap = new HashMap<>();
for (char letter : letters) {
if (countMap.containsKey(letter)) {
countMap.put(letter, countMap.get(letter) + 1);
} else {
countMap.put(letter, 1);
}
}
if (countMap.containsKey(c)) {
System.out.println("字母 " + c + " 出现了 " + countMap.get(c) + " 次");
} else {
System.out.println("字母 " + c + " 没有出现过");
}
}
}
```
如果输入的字母没有出现过,程序会输出 "字母 X 没有出现过",其中 X 是输入的字母。如果输入的是非字母字符,程序会抛出异常。
阅读全文