A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蒋大帅 中级黑马   /  2014-5-3 15:07  /  1199 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 蒋大帅 于 2014-5-3 18:13 编辑

class CalculatNumber
{        public static void main(String[] args)throws IOException{
                int englishNumber=0;//字母
                int spaceNumber=0;//空格
                int nNumber=0;//数字
                int otherNumber=0;//其他
                System.out.println("请输入一段字符");
                //InputStreamReader isr=new InputStreamReader(System.in);
                BufferedReader breader=new BufferedReader(new InputStreamReader(System.in));
                String str=breader.readline();
                for(int i=0;i<str.length();i++)
                {
                        char c=str.charAt(i);
                        //统计数字个数
                        if((int)c>='0'&&(int)c<='9'){
                        nNumber++;
                        }
                        //统计字母个数
                        else if((c>='a'&&c<='z')||(c>='A'&&c<='Z')){
                        englishNumber++;
                        }
                        //统计空格个数
                        else if(c==' '){
                        spaceNumber++;
                        }
                        //统计其他字符个数
                        else{
                                otherNumber++;
                                }
                }
                System.out.println("数字的个数是"+nNumber);
                System.out.println("字母的个数是"+englishNumber);
                System.out.println("空格的个数是"+spaceNumber);
                System.out.println("其他字符的个数是"+otherNumber);
        }
        
}

评分

参与人数 1技术分 +1 收起 理由
Silent_memory + 1 赞一个!

查看全部评分

15 个回复

倒序浏览
  1. import java.io.InputStreamReader;//只要是程序中用到的类,都需要提前导入
  2. import java.io.BufferedReader;//导入类的时候,也可以用java.io.*,程序编译时会自动按需导入
  3. import java.io.IOException;
  4. class Demo
  5. {
  6.         public static void main(String[] args)throws IOException
  7.         {
  8.                 int englishNumber=0;//字母
  9.                 int spaceNumber=0;//空格
  10.                 int nNumber=0;//数字
  11.                 int otherNumber=0;//其他
  12.                 System.out.println("请输入一段字符");
  13.                 //InputStreamReader isr=new InputStreamReader(System.in);
  14.                 BufferedReader breader=new BufferedReader(new InputStreamReader(System.in));
  15.                 String str=breader.readLine();//此处注意L是大写的
  16.                 for(int i=0;i<str.length();i++)
  17.                 {
  18.                         char c=str.charAt(i);
  19.                         //统计数字个数
  20.                         if((int)c>='0'&&(int)c<='9')
  21.                         {
  22.                                 nNumber++;
  23.                         }
  24.                         //统计字母个数
  25.                         else if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
  26.                         {
  27.                                 englishNumber++;
  28.                         }
  29.                         //统计空格个数
  30.                         else if(c==' ')
  31.                         {
  32.                                 spaceNumber++;
  33.                         }
  34.                         //统计其他字符个数
  35.                         else
  36.                         {
  37.                                 otherNumber++;
  38.                         }
  39.                 }
  40.                 System.out.println("数字的个数是"+nNumber);
  41.                 System.out.println("字母的个数是"+englishNumber);
  42.                 System.out.println("空格的个数是"+spaceNumber);
  43.                 System.out.println("其他字符的个数是"+otherNumber);
  44.         }
  45. }
复制代码
回复 使用道具 举报 1 0
错误信息                                               
回复 使用道具 举报
if((int)c>='0'&&(int)c<='9'){
                        nNumber++;
                        }
这地方你强转成int了,怎么比较的用''字符啊   改成(int)c>=0&&(int)c<=9  应该就可以了吧
回复 使用道具 举报
代码是没有任何错误的!!!!
回复 使用道具 举报
Lin0411 发表于 2014-5-3 16:53
代码是没有任何错误的!!!!

file:///C:/Users/Administrator/Desktop/%E6%97%A0%E6%A0%87%E9%A2%98.png
回复 使用道具 举报
Lin0411 发表于 2014-5-3 16:53
代码是没有任何错误的!!!!

提示BuffererReader,InputStreamReader找不到符号
回复 使用道具 举报
蒋大帅 来自手机 中级黑马 2014-5-3 17:07:06
7#
hong云梦 发表于 2014-5-3 16:38
if((int)c>='0'&&(int)c=0&&(int)c

他总是报这个错

1399107915663.jpg (301.47 KB, 下载次数: 6)

1399107915663.jpg
回复 使用道具 举报
提示BuffererReader,InputStreamReader找不到符号
回复 使用道具 举报
蒋大帅 来自手机 中级黑马 2014-5-3 17:19:16
9#
Lin0411 发表于 2014-5-3 16:53
代码是没有任何错误的!!!!

总是报这个错

1399107915663.jpg (301.47 KB, 下载次数: 5)

1399107915663.jpg
回复 使用道具 举报
javac  文件名.java 不是类名.java
java    类名
回复 使用道具 举报
导了IO包吗?
回复 使用道具 举报
breader.reaLline()   l改成L
回复 使用道具 举报
回复 使用道具 举报
  1. import java.io.BufferedReader;//这里是导包的
  2. import java.io.IOException;//这里是导包的
  3. import java.io.InputStreamReader;//这里是导包的

  4. class CalculatNumber
  5. {        public static void main(String[] args)throws IOException{
  6.                 int englishNumber=0;//字母
  7.                 int spaceNumber=0;//空格
  8.                 int nNumber=0;//数字
  9.                 int otherNumber=0;//其他
  10.                 System.out.println("请输入一段字符");
  11.                 //InputStreamReader isr=new InputStreamReader(System.in);
  12.                 BufferedReader breader=new BufferedReader(new InputStreamReader(System.in));
  13.                 String str=breader.readLine();//这里是readLine。
  14.                 for(int i=0;i<str.length();i++)
  15.                 {
  16.                         char c=str.charAt(i);
  17.                         //统计数字个数
  18.                         if((int)c>='0'&&(int)c<='9'){
  19.                         nNumber++;
  20.                         }
  21.                         //统计字母个数
  22.                         else if((c>='a'&&c<='z')||(c>='A'&&c<='Z')){
  23.                         englishNumber++;
  24.                         }
  25.                         //统计空格个数
  26.                         else if(c==' '){
  27.                         spaceNumber++;
  28.                         }
  29.                         //统计其他字符个数
  30.                         else{
  31.                                 otherNumber++;
  32.                                 }
  33.                 }
  34.                 System.out.println("数字的个数是"+nNumber);
  35.                 System.out.println("字母的个数是"+englishNumber);
  36.                 System.out.println("空格的个数是"+spaceNumber);
  37.                 System.out.println("其他字符的个数是"+otherNumber);
  38.         }
  39.         
  40. }
复制代码


readLine  L大写的
回复 使用道具 举报
已经解决了吧                                         
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马