【华为OJ40】输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
来源:互联网 发布:js单例模式用处 编辑:程序博客网 时间:2024/05/16 16:23
输入描述:
输入一行字符串,可以有空格
输出描述:
统计其中英文字符,空格字符,数字字符,其他字符的个数
输入例子:
1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;p0-=\\][
输出例子:
2631012
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String str = sc.nextLine(); System.out.println(getEnglishCharCount(str)); System.out.println(getBlankCharCount(str)); System.out.println(getNumberCharCount(str)); System.out.println(getOtherCharCount(str)); } sc.close(); } /** * 统计出英文字母字符的个数。 * * @param str 需要输入的字符串 * @return 英文字母的个数 */ public static int getEnglishCharCount(String str) { int numOfChars = 0; for(int i=0;i<str.length();i++){ char c = str.charAt(i); if((c<= 'z' && c>= 'a') || (c<= 'Z' && c>= 'A')) numOfChars++; } return numOfChars; } /** * 统计出空格字符的个数。 * * @param str 需要输入的字符串 * @return 空格的个数 */ public static int getBlankCharCount(String str) { int numOfSpace = 0; for(int i=0;i<str.length();i++){ char c = str.charAt(i); if(c == ' ') numOfSpace++; } return numOfSpace; } /** * 统计出数字字符的个数。 * * @param str 需要输入的字符串 * @return 英文字母的个数 */ public static int getNumberCharCount(String str) { int nums = 0; for(int i=0;i<str.length();i++){ char c = str.charAt(i); int cNum = (int)c; if(cNum <=9 && cNum >=0) nums++; } return nums; } /** * 统计出其它字符的个数。 * * @param str 需要输入的字符串 * @return 英文字母的个数 */ public static int getOtherCharCount(String str) { int nums = 0; for(int i=0;i<str.length();i++){ char c = str.charAt(i); // int cNum = (int)c; if( !( (c<= 'z' && c>= 'a') || (c<= 'Z' && c>= 'A') || (c == ' ') )) nums++; } return nums; } }
被题目中的代码给迷惑了,自己的做法:
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String str = sc.nextLine(); System.out.print(getCounts(str)); } sc.close(); } private static String getCounts(String str){ StringBuilder sb = new StringBuilder(128); int[] result = new int[4]; for(int i=0;i<str.length();i++){ char c = str.charAt(i); if( (c<='z' && c>='a')||(c<='Z' && c>='A') ){ result[0]++; }else if(c==' '){ result[1]++; }else if(c<='9' && c>='0'){ result[2]++; }else{ result[3]++; } } for(Integer i:result){ sb.append(i).append('\n'); } return sb.toString(); }}
输入描述:
输入一行字符串,可以有空格
输出描述:
统计其中英文字符,空格字符,数字字符,其他字符的个数
输入例子:
1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;p0-=\\][
输出例子:
2631012
0 0
- 【华为OJ40】输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 华为OJ题库-输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 华为OJ试题:输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 华为oj:输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 华为oj 输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 【华为OJ】【032-输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数】
- 华为OJ——输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 【华为OJ】输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 华为OJ 初级:输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 【华为 OJ】输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。
- 华为OJ——输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- [华为OJ--C++]032-输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- MySQL之——MSS主从复制(读写分离)实现
- Day21:same Back together with father
- C++ STL总结
- rtp h264注意点(FU-A分包方式说明)
- 手摸手教你做动态壁纸
- 【华为OJ40】输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- php自学提升进阶路线
- H.264中的NAL单元类型 nal_unit_type
- UIView的AddChildViewCtroller的用法(4中页面切换方式)
- js轮播图
- Servlet相关类的用法演示
- Literal Values
- Hibernate框架基础——一对多关联关系映射
- POJ 2096 Collecting Bugs