JAVA经典算法(七)

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

package cn.ls.lanqiao;

import java.util.Scanner;

public class Test7 {
	public static void main(String[] args) {
		int daXie = 0;
		int xiaoXie = 0;
		int kongGe = 0;
		int number = 0;
		int other = 0;
		System.out.println("请输入字符串:");
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();
	/*	
	 * 方法一,利用ASCII码去解决
	 * for (int i = 0; i < str.length(); i++) {
			char c = str.charAt(i);
			if (c >= 65 && c <= 90)
				daXie++;
			else if (c >= 97 && c <= 122)
				xiaoXie++;
			else if (c >= 48 && c <= 57)
				number++;
			else if (c == 32)
				kongGe++;
			else
				other++;
		}*/
		//方法二,利用Character的方法去解决,先把字符串转化为char数组
		  char[] ls = str.toCharArray();
	        for(int i=0;i<ls.length;i++){
	            if(Character.isUpperCase(ls[i])){
	            	daXie++;
	            }else if(Character.isLowerCase(ls[i])) {
	            	xiaoXie++;
	            }else if(Character.isDigit(ls[i])){
	            	number++;
	            }else if(Character.isSpaceChar(ls[i])){
	            	kongGe++;
	            }else{
	            	other++;
	            }
	        }

		System.out.println(str + "中大写字母的个数为" + daXie + "个");
		System.out.println(str + "中小写字母的个数为" + xiaoXie + "个");
		System.out.println(str + "中数字的个数为" + number + "个");
		System.out.println(str + "中空格的个数为" + kongGe + "个");
		System.out.println(str + "中其他字符的个数为" + other + "个");
	}
}

 

posted @ 2020-01-09 12:04  小帅学java  阅读(8)  评论(0)    收藏  举报