下面是完整的攻略:
概述
Java日常练习题是一系列Java练手题,旨在帮助Java初学者熟悉Java语言,加深对Java知识的理解。本篇题目为第35题,难度为中等。
题目描述
写一个Java程序,输入一个字符串,输出其中不重复的字符。
解题思路
我们可以使用HashMap来存储每个字符出现的次数,然后遍历HashMap,输出出现次数为1的字符即可。
以下是具体的步骤:
- 创建一个HashMap,用于存储每个字符出现的次数。
- 遍历输入的字符串,将每个字符及其出现次数存入HashMap中。
- 遍历HashMap,输出出现次数为1的字符。
下面是Java代码示例:
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
HashMap<Character, Integer> map = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
map.put(c, map.getOrDefault(c, 0) + 1);
}
for (Character key : map.keySet()) {
if (map.get(key) == 1) {
System.out.print(key);
}
}
}
}
运行效果如下:
输入:aabbccddeeff
输出:abcdef
总结
本题通过HashMap统计字符出现的次数,是比较常见的解决字符串问题的方法。这种解题方法应当在日常编程中掌握,以便在遇到类似问题时能够快速解决。
示例2:
题目描述
写一个Java程序,输入一个字符串,输出其中字符出现次数的最大值。
解题思路
我们可以使用HashMap来存储每个字符出现的次数,然后遍历HashMap,找到出现次数的最大值即可。
以下是具体的步骤:
- 创建一个HashMap,用于存储每个字符出现的次数。
- 遍历输入的字符串,将每个字符及其出现次数存入HashMap中。
- 遍历HashMap,找到出现次数的最大值。
下面是Java代码示例:
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
HashMap<Character, Integer> map = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
map.put(c, map.getOrDefault(c, 0) + 1);
}
int maxCount = 0;
for (Integer count : map.values()) {
if (count > maxCount) {
maxCount = count;
}
}
System.out.println(maxCount);
}
}
运行效果如下:
输入:aabbccddeeff
输出:2
总结
本题同样使用HashMap来统计字符出现的次数,但是需要找到最大值,并输出。这也是比较常见的解决字符串问题的方法之一。这种解题方法应当在日常编程中掌握,以便在遇到类似问题时能够快速解决。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java日常练习题,每天进步一点点(35) - Python技术站