本题要求编写程序,输入一行字符,统计其中数字字符、空格和其他字符的个数。建议使用switch语句编写。
输入格式:
输入在一行中给出若干字符,最后一个回车表示输入结束,不算在内。
输出格式:
在一行内按照
blank = 空格个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。请注意,等号的左右各有一个空格,逗号后有一个空格。
输入样例:
在这里给出一组输入。例如:
Reold 12 or 45T
输出样例:
在这里给出相应的输出。例如:
blank = 3, digit = 4, other = 8
这里用到了charAt函数
charAt(i) 函数 是获取字符串中i位置的字符
str.charAt(i)的意思是第i个字符在字符串str中所占的位置,输出的是数字
for (var i = 0; i < str.length; i++) {
if(!json[str.charAt(i)]){ // 首先得到i位置的字符char 再判断 json[char]是否存在 如果不存在就赋值为1
json[str.charAt(i)] = 1;
}else{ //如果存在的话,就在原来值的基础上加1
json[str.charAt(i)]++;
document.write(json[str.charAt(i)]); // 输出的是 json[char] 当前的值
}
};
代码实现如下
import java.util.Arrays;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int n=0,sum=0;
int a,b,c;
a=b=c=0;
String s=scan.nextLine();
for(int i=0; i<s.length();i++) {
if(s.charAt(i)==' ')
a++;
else if(s.charAt(i)>='0'&&s.charAt(i)<='9') {
b++;
}else {
c++;
}
}
System.out.println("blank = "+a+", digit = "+b+", other = "+c);
}
}