试着写了一个,有什么不对话,还望指出- package com.dong.test1;
- import java.util.Scanner;
- /**
- * 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
- *
- * @author 栋
- *
- */
- public class Count {
- public static void main(String[] args) {
- // 读取用户输入
- Scanner sc = new Scanner(System.in);
- String s = sc.nextLine();
- // 调用相关算法
- int[] countNum = myCount(s);
- System.out.println("字母个数为:" + countNum[0]);
- System.out.println("空格个数为:" + countNum[1]);
- System.out.println("数字个数为:" + countNum[2]);
- System.out.println("其他个数为:" + countNum[3]);
- }
- public static int[] myCount(String s) {
- // 用数组第0位存储字母个数
- // 用数组第1们存储空格个数
- // 用数组第2位存储数字个数
- // 用数组第3位存储其它个数
- int[] countNum = { 0, 0, 0, 0};
- for (int i = 0; i < s.length(); i++) {
- if (((char) s.charAt(i) >= 'a' & (char) s.charAt(i) <= 'z')
- | ((char) s.charAt(i) >= 'A' & (char) s.charAt(i) <= 'Z')) {
- countNum[0] += 1;
- } else if ((char) (s.charAt(i)) == ' ') {
- countNum[1] += 1;
- } else if ((char) s.charAt(i) >= '0' & (char) s.charAt(i) < '9') {
- countNum[2] += 1;
- } else {
- countNum[3] += 1;
- }
- }
- return countNum;
- }
- }
复制代码
|