从键盘输入一个字符串s,判断该字符串包含了字母、数字、空格字符的几种(最多三种,最少一种),如果包含了3种则输出该字符串(要求输出时把所有的小写字母改成大写字母),java版本
时间: 2024-03-20 13:40:17 浏览: 83
由键盘输入一个字符,判断其是字母、数字还是其它符号。.c
5星 · 资源好评率100%
好的,以下是Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
boolean hasLetter = false;
boolean hasDigit = false;
boolean hasSpace = false;
for (char c : s.toCharArray()) {
if (Character.isLetter(c)) {
hasLetter = true;
} else if (Character.isDigit(c)) {
hasDigit = true;
} else if (c == ' ') {
hasSpace = true;
}
}
int count = 0;
if (hasLetter) {
count++;
}
if (hasDigit) {
count++;
}
if (hasSpace) {
count++;
}
if (count >= 1 && count <= 3) {
if (hasLetter && hasDigit && hasSpace) {
System.out.println(s.toUpperCase());
} else if (hasLetter && hasDigit) {
System.out.println(s.toUpperCase());
} else if (hasLetter && hasSpace) {
System.out.println(s.toUpperCase());
} else if (hasDigit && hasSpace) {
System.out.println(s.toUpperCase());
}
}
}
}
```
代码实现思路:
1. 通过Scanner类从键盘输入一个字符串s;
2. 定义三个布尔类型的变量hasLetter、hasDigit和hasSpace,表示字符串s是否包含字母、数字、空格字符;
3. 遍历字符串s的每一个字符,判断该字符是否为字母、数字、空格字符,若是则将相应的布尔变量设为true;
4. 定义一个计数变量count,表示字符串s包含了几种字符;
5. 根据hasLetter、hasDigit和hasSpace的值,更新count的值;
6. 判断count的值,如果在1和3之间,则继续执行,否则直接结束程序;
7. 根据hasLetter、hasDigit和hasSpace的值,判断字符串s包含了哪几种字符,然后将字符串s中的小写字母改为大写字母,并输出结果。
阅读全文