java输入一字符串,去除字符串中的重复字符,并统计去掉的字符个数
时间: 2023-06-07 21:09:53 浏览: 54
好的,这是一个编程问题,可以回答。以下是一个可能的解决方案:
```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语言输入一字符串,统计出其数字字符个数
可以通过遍历字符串的每个字符,判断是否为数字字符来统计其个数。以下是一个示例代码:
```c
#include <stdio.h>
#include <ctype.h> // 包含 isdigit 函数
int main() {
char str[100];
int count = 0;
printf("请输入一个字符串:");
scanf("%s", str);
for (int i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) { // 判断是否为数字字符
count++;
}
}
printf("数字字符个数为:%d\n", count);
return 0;
}
```
注意,上述代码中使用了 `<ctype.h>` 头文件中的 `isdigit` 函数,需要包含该头文件。同时,我们假设输入的字符串长度不超过 100。
C语言中输入一字符串,统计出其数字字符的个数。
可以使用循环遍历字符串的每个字符,判断该字符是否为数字字符,如果是则计数器加1。C语言中可以使用isdigit函数判断一个字符是否为数字字符。
以下是一个示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, count = 0;
printf("请输入一个字符串:");
scanf("%s", str);
for (i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) {
count++;
}
}
printf("数字字符的个数为:%d\n", count);
return 0;
}
```
在上面的代码中,我们定义了一个字符数组 `str` 存储输入的字符串,以及一个计数器 `count` 统计数字字符的个数。使用 `scanf` 函数读取输入的字符串。然后使用循环遍历字符串中的每个字符,如果该字符是数字字符,则将计数器加1。最后输出计数器的值即可。注意,循环中的判断条件是 `str[i] != '\0'`,因为字符串以空字符结尾。