您的位置:首页 > 编程语言 > Java开发

华为OJ——输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数

2017-07-07 19:16 609 查看
题目描述

  输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。

/**
* 统计出英文字母字符的个数。
*
* @param str 需要输入的字符串
* @return 英文字母的个数
*/
public static int getEnglishCharCount(String str)
{
return 0;
}

/**
* 统计出空格字符的个数。
*
* @param str 需要输入的字符串
* @return 空格的个数
*/
public static int getBlankCharCount(String str)
{
return 0;
}

/**
* 统计出数字字符的个数。
*
* @param str 需要输入的字符串
* @return 英文字母的个数
*/
public static int getNumberCharCount(String str)
{
return 0;
}

/**
* 统计出其它字符的个数。
*
* @param str 需要输入的字符串
* @return 英文字母的个数
*/
public static int getOtherCharCount(String str)
{
return 0;
}


输入描述:

输入一行字符串,可以有空格

输出描述:

统计其中英文字符,空格字符,数字字符,其他字符的个数

示例1

  输入

     1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\/;p0-=\][

  输出

    26

    3

    10

    12

代码实现:

package cn.c_shuang.demo40;

import java.util.Scanner;
/**
* 输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
* @author Cshuang
*
*/
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
while(in.hasNext()){
String s=in.nextLine();
//其实可以直接定义一个数组,然后对数组,进行输出
int enCnt=0, blanCnt=0,numCnt=0,othCnt=0;
for (int i = 0; i < s.length(); i++) {
char c=s.charAt(i);
if(String.valueOf(c).matches("[a-zA-Z]")){
enCnt++;
}else if(c==' '){
blanCnt++;
}else if(String.valueOf(c).matches("[0-9]")){
numCnt++;
}else{
othCnt++;
}
}
System.out.println(enCnt+"\n"+blanCnt+"\n"+numCnt+"\n"+othCnt);
}
in.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐