日期:2014-05-20  浏览次数:20711 次

JAVA出了一点小问题
输入没有空格的可以正常统计,有空格就会统计空格之前的,之后的就不会统计,这是为什么呢?

import java.util.Scanner;

public class count {
          public static void main(String[] args) {
        int digital=0;
        int character=0;
        int other=0;
        int blank=0;
        char[] ch=null;
        Scanner sc=new Scanner(System.in);
        String s=sc.next();
        ch=s.toCharArray();
        for(int i=0;i<ch.length;i++){
         if(ch[i]>='0'&&ch[i]<='9'){
         digital++;
         }
         else if((ch[i]>='a'&&ch[i]<='z')||(ch[i]>='A'&&ch[i]<='Z')){
         character++;
         }
         else if(ch[i]==' '){
         blank++;
         }
         else{
         other++;
         }
        }
      System.out.println("shuzi="+digital+"character="+character+"other="+other+"blank="+blank);  
}
}


------最佳解决方案--------------------
我是来顶楼主的
------其他解决方案--------------------
原来是sc.next()出问题了,应该用sc.nextLine()
------其他解决方案--------------------
该回复于2012-11-24 09:57:58被管理员删除