问题1

你说的曾经没有我的故事 提交于 2020-04-01 12:08:19

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用while语句,条件为输入的字符不为'\n'.

 1 Scanner in = new Scanner(System.in);
 2         String s = in.nextLine();
 3         int index = 0;
 4         int Eng = 0;
 5         int Space = 0;
 6         int Num = 0;
 7         int Other = 0;
 8         while(s.charAt(index) != '\n')
 9         {
10             if(s.charAt(index)>='a'&&s.charAt(index)<='Z')
11             {
12                 Eng++;
13             }
14             else if(s.charAt(index) == ' ')
15             {
16                 Space++;
17             }
18             else if(s.charAt(index)>='0'&&s.charAt(index)<='9')
19             {
20                 Num++;
21             }
22             else
23             {
24                 Other++;
25             }
26             index++;
27         }
28         System.out.print("英文字母"+Eng+"个");
29         System.out.print("空格"+Space+"个");
30         System.out.print("数字"+Num+"个");
31         System.out.print("其他字符"+Other+"个");
32     }

报错为java.lang.StringIndexOutOfBoundsException

其他人的接解决方案为将字符串转化为数组,遍历数组解决。

为什么不能直接遍历字符串,在学习学习看看有没有解决方案

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!