2019-04-24

http://acm.hdu.edu.cn/showproblem.php?pid=2027

image.png

image.png

思路:
对于所输入的字符串,用循环进行遍历,当此时的字符与元音字母相同时,开始计数。
代码如下:
public class acm2017 {

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int n = in.nextInt();
    
    while(n>0)
    {
        int q=0;
        int w=0;
        int r=0;
        int t=0;
        int y=0;
        String c = in.nextLine();
        for(int j = 0;j<c.length();j++)
        {
            char m = c.charAt(j);
            if(m=='a')
            {
                q++;
            }
            if(m=='e')
            {
                w++;
            }
            if(m=='i')
            {
                r++;
            }
            if(m=='o')
            {
                t++;
            }
            if(m=='u')
            {
                y++;
            }   
        }
        System.out.println("a:"+q);
        System.out.println("e:"+w);
        System.out.println("i:"+r);
        System.out.println("o:"+t);
        System.out.println("u:"+y);
        q=w=r=t=y=0;
    }
    n--;
    if(n==0)
    {
        n=in.nextInt();
    }
}

反思:由于使用java语言,暂时还不会用java语言代表C语言中的scanf("%n",&n)!=EOF,我用另一种方法,当循环到n为0时,对n重新进行赋值。此时,用户可以再次输入,程序不会终止。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容