需求:键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符)
思路:
1、键盘录入一个字符串,用Scanner实现
2、要统计三种类型的字符个数,需定义三个统计变
量,初始值都为0
3、遍历字符串,得到每一个字符
4、判断该字符属于哪种类型,然后对应类型的统计变
量+1
假如ch是一个字符,我要判断它属于大写字母,小写字母,还是数字,直接判断该字符是否在对应的范围即可
大写字母:ch>=‘A’&&ch<=‘Z’
小写字母:ch>=‘a’&&ch<=‘z’
数字:ch>=‘0’&&ch<=‘9’
5、输出三种类型的字符个数
如下:
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int A = 0,a=0,nm = 0;
String str = sc.next();
for(int i = 0;i < str.length();i++){
if(str.charAt(i) >= 'A' && str.charAt(i) <= 'Z')
A++;
else if(str.charAt(i) >= 'a' && str.charAt(i) <= 'z')
a++;
else if(str.charAt(i) >= '0' && str.charAt(i) <= '9')
nm++;
}
System.out.println("大写字母个数:" + A );
System.out.println("小写字母个数:" + a );
System.out.println("数字个数:" + nm );
}
这几天怎么突然都问这个,你们都是一个学校的吗,你们互相之间抄一抄不好吗
不知道用站内搜索吗,有等答案的时间作业都抄完了
package net.lesscoding;
import java.util.Scanner;
/**
* @author eleven
* @date 2021/9/9 9:51
* @apiNote
*/
public class ElevenTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入任意字符串:");
String str = scanner.nextLine();
System.out.println("字符串长度为:" + str.length());
Integer uppercase = getCharNum(str, 'A', 'Z');
Integer lowercase = getCharNum(str, 'a', 'z');
Integer number = getCharNum(str, '0', '9');
Integer specialCharacters = str.length() - uppercase - lowercase - number;
System.out.println("大写字母个数为: " + uppercase);
System.out.println("小写字母个数为: " + lowercase);
System.out.println("数字个数为: " + number);
System.out.println("特殊字符个数为: " + specialCharacters );
}
private static Integer getCharNum(String str,char first,char last){
String regex = String.format("[%c-%c]", first, last);
return str.length() - str.replaceAll(regex,"" ).length();
}
}
public class Demo07StringCount {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String input = sc.next(); // 获取键盘输入的一个字符串
int countUpper = 0; // 大写字母
int countLower = 0; // 小写字母
int countNumber = 0; // 数字
int countOther = 0; // 其他字符
char[] charArray = input.toCharArray();
for (int i = 0; i < charArray.length; i++) {
char ch = charArray[i]; // 当前单个字符
if ('A' <= ch && ch <= 'Z') {
countUpper++;
} else if ('a' <= ch && ch <= 'z') {
countLower++;
} else if ('0' <= ch && ch <= '9') {
countNumber++;
} else {
countOther++;
}
}
System.out.println("大写字母有:" + countUpper);
System.out.println("小写字母有:" + countLower);
System.out.println("数字有:" + countNumber);
System.out.println("其他字符有:" + countOther);
}
}