php實現 統計輸入中各種字符的個數
一、總結
一句話總結:謀而后動,想清楚,會非常節約編寫代碼的時間。
1、對結果可能是0的變量,記得初始化?
4 $len=0; 5 $len=strlen($str); 6 $numChr=0;$num=0;$numSpace=0;
二、統計輸入中各種字符的個數
題目描述
輸入一行字符,分別統計出包含英文字母、空格、數字和其它字符的個數。
/**
* 統計出英文字母字符的個數。
*
* @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 <?php 2 //前面統計英語字母、空格、數字的時候就順便把對應的位置替換成'',無需替換,計算出前三個,后面那個減一下就好 3 while($str=trim(fgets(STDIN))){ 4 $len=0; 5 $len=strlen($str); 6 $numChr=0;$num=0;$numSpace=0; 7 for($i=0;$i<$len;$i++){ 8 if(($str[$i]>='a'&&$str[$i]<='z')||($str[$i]>='A'&&$str[$i]<='Z')) 9 { 10 $numChr+=1; 11 }else if($str[$i]>='0'&&$str[$i]<='9'){ 12 $num+=1; 13 }else if($str[$i]==' '){ 14 $numSpace++; 15 } 16 } 17 $numOther=$len-$numChr-$num-$numSpace; 18 echo $numChr.PHP_EOL.$numSpace.PHP_EOL.$num.PHP_EOL.$numOther.PHP_EOL; 19 } 20 21 ?>