计算控制台输入流中字符的出现次数

时间:2013-10-01 05:30:06

标签: java

在一次采访中我被问到一个问题:

  

从控制台获取输入,例如:“欢迎来到世界”并计算用户输入的特定字符,在不使用任何内置方法(如{{1})的情况下,索引和次数(即字符的出现次数)等等。

2 个答案:

答案 0 :(得分:7)

给你一个盆栽的答案根本无济于事。以下是您如何实现自己想要的目标。尝试自己编写代码。

  1. 将字符串转换为字符数组。
  2. 有一个Map,它将char元素存储为键,并将其计数为值。
  3. 迭代char数组并为每个元素检查它是否已存在于地图中 一个。如果存在,则将该元素的值递增1并将其放回映射中 湾如果没有,请将该char和1作为其计数值插入地图中。
  4. 继续,直到char数组中有更多元素。
  5. 地图现在包含所有字符及其各自的计数。

答案 1 :(得分:0)

import java.io.Console;
class dev
{
    public static void main(String arg[])
    {
        Console c=System.console();
        String str=c.readLine();
        System.out.println(str);
        int times=0;
        //find c character 
        char find='c';
        char strChar[]=str.toCharArray();
        System.out.print("positions of char c in the string :");
        try
        {
            for (int i=0; ;i++ )
            {
                if(strChar[i]==find)
                {
                    System.out.print((i-1)+", ");times++;
                }
            }   
        }
        catch (Exception e)
        {
            System.out.println("\n"+"The no. of times c occur : "+times);
        }
    }
}