杭电acm P2017字符串的统计

来源:互联网 发布:nba2k16捏脸数据 编辑:程序博客网 时间:2024/05/16 19:02

自己写的:

import java.util.Scanner; public class P2017{public static void main(String[] args) {Scanner sc=new Scanner(System.in); while(sc.hasNext()){     int n=sc.nextInt();      int[] count=new int[n];      String[] str = new String[n];  for(int i=0;i<n;i++){       str[i]=sc.next();        int num=str[i].length();        for(int j=0;j<num;j++){           if(str[i].charAt(j)>='0'&&str[i].charAt(j)<='9'){                 count[i]++;                 }          }     }     for(int i=0;i<n;i++){         System.out.println(count[i]);     } }

}
}

/*
* sc.nextInt(): 只接收整数,,整数后面的换行符还留在流内不读出来
* sc.next(): 接收到空白符就丢,直到接收到一个非空白符的字符串,以遇到下一个空白符为停止标记
* sc.nextLine(): 接收到换行符就停,把换行符及前面部分从流中取出来, 把换行符丢掉,剩下的部分就是返回值
*/

更优方法:

public class P2017 public static void main(String[] args) {    Scanner sc = new Scanner(System.in);    int n = sc.nextInt();    sc.nextLine();//吸掉多余换行符    while(n-->0){        //String str = sc.next();        String str = sc.nextLine();        int count=0;        for (int i = 0; i < str.length(); i++) {            char ch = str.charAt(i);            if(ch>='0' && ch<='9'){                count++;            }        }        System.out.println(count);    }}

}

原创粉丝点击