1.描述
输入一行字符 分别统计其中英文字母 空格 数字 和其他字符的个数
2.代码
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
testMethod("!!!!!123456 @@@@@L¥¥¥ anAdddFFFd &&&& 56mmm A34ll2266LLL****");
}
/**
* 输入一行字符 分别统计其中英文字母 空格 数字 和其他字符的个数
*
* @param string 输入的字符
*/
private void testMethod(String string) {
if (TextUtils.isEmpty(string)) return;
int count1 = 0;//英文字母个数
int count2 = 0;//空格个数
int count3 = 0;//数字个数
int count4 = 0;//其他字符个数
int length = string.length();
for (int i = 0; i < length; i++) {
char c = string.charAt(i);
if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') {//字母
count1++;
} else if (c == ' ') {//空格
count2++;
} else if (c >= '0' && c <= '9') {//数字
count3++;
} else {//其他字符
count4++;
}
}
Log.d("TAG", string + "中总字符个数:" + length);
Log.d("TAG", string + "中字母个数:" + count1);
Log.d("TAG", string + "中空格个数:" + count2);
Log.d("TAG", string + "中数字个数:" + count3);
Log.d("TAG", string + "中其他字符个数:" + count4);
}
}
3.结果
!!!!!123456 @@@@@L¥¥¥ anAdddFFFd &&&& 56mmm A34ll2266LLL****中总字符个数:65
!!!!!123456 @@@@@L¥¥¥ anAdddFFFd &&&& 56mmm A34ll2266LLL****中字母个数:20
!!!!!123456 @@@@@L¥¥¥ anAdddFFFd &&&& 56mmm A34ll2266LLL****中空格个数:10
!!!!!123456 @@@@@L¥¥¥ anAdddFFFd &&&& 56mmm A34ll2266LLL****中数字个数:14
!!!!!123456 @@@@@L¥¥¥ anAdddFFFd &&&& 56mmm A34ll2266LLL****中其他字符个数:21