java输入一字符串,去除字符串中的重复字符,并统计去掉的字符个数
时间: 2023-06-07 11:09:53 浏览: 92
好的,这是一个编程问题,可以回答。以下是一个可能的解决方案:
```java
import java.util.HashSet;
public class RemoveDuplicates {
public static void main(String[] args) {
String input = "Hello, world!";
HashSet<Character> set = new HashSet<Character>();
int count = 0;
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (set.contains(c)) {
count++;
} else {
set.add(c);
}
}
System.out.println("Removed " + count + " duplicates.");
System.out.println(set.toString());
}
}
```
这个程序使用了一个哈希集合来存储字符串中的所有字符,每次遇到重复的字符时,计数器就会加1。最后打印出去重后的字符集合以及去除的字符个数。
相关问题
用C语言2.编写程序,用户从键盘输入一字符串,字符串中含有空格,程序统计第一个空格前字符的个数。
以下是 C 语言的实现代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[100];
printf("请输入一个字符串:");
fgets(s, sizeof(s), stdin); // 从键盘读入字符串
int index = strchr(s, ' ') - s; // 查找第一个空格的位置
int count;
if (index == strlen(s) || index == -1) { // 如果找不到空格
count = strlen(s) - 1; // 字符个数为整个字符串长度减去末尾的换行符
} else {
count = index; // 字符个数为第一个空格前的位置
}
printf("第一个空格前的字符个数为:%d\n", count);
return 0;
}
```
运行程序后,会提示用户输入一个字符串。程序使用 `fgets` 函数从键盘读入字符串,再使用 `strchr` 函数查找第一个空格的位置,如果找不到空格,则整个字符串都是第一个空格前的字符,字符个数为字符串长度减去末尾的换行符;否则,字符个数为第一个空格前的位置。最后,程序输出结果。
2.编写一个程序,实现从命令行参数输入一字符串,统计该字符串中字符“e”出现的次数用Java实现
下面是用Java编写的程序,可以实现从命令行参数输入一个字符串,并统计该字符串中字符“e”出现的次数:
```java
public class CharacterCount {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("请输入一个参数");
return;
}
String inputString = args[0];
int count = 0;
for (int i = 0; i < inputString.length(); i++) {
if (inputString.charAt(i) == 'e' || inputString.charAt(i) == 'E') {
count++;
}
}
System.out.println("字符'e'在输入字符串中出现的次数为:" + count);
}
}
```
你可以在命令行中运行这个程序,并传入一个字符串作为参数。程序会遍历字符串的每个字符,判断是否为字符“e”或者字符"E",如果是则计数器加一。最后输出字符“e”在输入字符串中出现的次数。
阅读全文