java例题_07 字符串的处理

 1 /*7 【程序 7 处理字符串】 
 2 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 
 3 程分析:利用 while 语句,条件为输入的字符不为'\n'. 
 4 */
 5 
 6 /*分析:
 7  * 1、百度到java语言中可使用.length(), charAt()来遍历字符串,这种方法的原理和c中的字符串数字类似
 8  * 2、判断字符是什么类型,直接用ASCII码判断,且不需要写出来ASCII码是多少,如:字母直接用A~Z&a~z即可
 9  * */
10 
11 
12 package homework;
13 
14 import java.util.Scanner;
15 
16 public class _07 {
17 
18     public static void main(String[] args) {
19         System.out.println("请输入一个包含英文字母、空格、数字和其它字符的字符串,并以回车键结束:");        
20 //        从键盘得到字符串
21         Scanner sc=new Scanner(System.in);
22         String s=sc.nextLine();
23     
24 //        String s="ABCabc12312     &&*231";   //共6个字母,5个空格,8个数字,3个其他字符;
25         //声明4个计数器,分布统计字母,空格,数字和其他字符的个数
26         int word=0,balnk=0,num=0,other=0;
27         
28         char c;
29         //使用for循环遍历字符串,并用ASCII码来判定字符是哪一类
30         for (int i = 0; i < s.length(); i++) {      //序号从0开始,所有用"<";
31 
32             c=s.charAt(i);
33 //            System.out.println(c);
34             while (c!='\n') {
35                 if((('a'<=c)&(c<='z'))||(('A'<=c)&(c<='Z'))) {
36                     word++;
37                 }
38                 else if ((c>='1')&(c<='9')) {
39                     num++;
40                 }
41                 else if (c==' ') {
42                     balnk++;
43                 }
44                 else {
45                     other++;
46                 }
47                 break;            //break是结束while循环的,否者是死循环    
48             }
49             
50         }
51         System.out.println("字母个数为:"+word+"\n"+"空格个数为:"+balnk+"\n"+"数字个数为:"+num+"\n"+"其他符号个数为:"+other);
52 
53     }
54 
55 }

 

posted @ 2020-02-11 15:31  浪漫主义程序员  阅读(206)  评论(0编辑  收藏  举报