计算指定的数字

时间:2016-04-18 18:34:20

标签: java numbers

我想问你一个问题,我想计算一个指定数字在用户的指定数字(长)中的次数,并将其打印为int。

你能帮我解释一下这段代码吗?

为我的英语道歉。

示例:

<数字指定= 4;给定的数字= 34434544;结果= 5.>

3 个答案:

答案 0 :(得分:1)

检查最低有效数字是否等于您要搜索的数字;然后除以十并再次检查;一直走到零。

int cnt = 0;
while (value != 0) {
  if (value % 10 == digit) ++cnt;
  value /= 10;
}

您尝试计算大号digitvalue的出现次数。

答案 1 :(得分:0)

设置Scanner以获取System.in的输入。然后,通过将其转换为String来迭代返回的char[]。然后分析每个char并计算原始字符。可能会使用Map<Character, Integer>。对于Map中的每个元素,如果它位于Map中,则按一次迭代。查询所需字符的Map并在完成后打印结果。

public static void main(String[] args) {

    CharacterFinder cf = new CharacterFinder();

    Scanner scan = new Scanner(System.in);
    String input = scan.nextLine();

    Map<Character, Integer> resultsMap = cf.countChar(input);
    System.out.println(resultsMap.get('g'));
}

// Note that 'null' means that it does not appear and if it is null, you ought print 0 instead.
// Also note that this method is case sensitive.
private Map<Character, Integer> countChar(String input) {

    Map<Character, Integer> resultsMap = new HashMap<Character, Integer>();
    for (int i = 0; i < input.length(); i++) {
        Character element = input.charAt(i);
        if (resultsMap.containsKey(element)) {
            Integer cCount = resultsMap.get(element);
            resultsMap.put(element, cCount + 1);
        } else {
            resultsMap.put(element, 1);
        }
    }

    return resultsMap;
}

好吧,除非你已经知道你想要的char。在这种情况下,请分析确切的char

public static void main(String[] args) {
    CharacterFinder cf = new CharacterFinder();

    Scanner scan = new Scanner(System.in);
    String input = scan.nextLine();

    // Call counting method and print
    System.out.println(cf.countChar(input, '5'));
}

// Counting method
private int countChar(String input, char c) {
    int x = 0;
    for (int i = 0; i < input.length(); i++) {
        if (input.charAt(i) == c) {
            x++;
        }
    }
    return x;
}

答案 2 :(得分:0)

如果您使用的是Java 8:

long count = String.valueOf(givenNumber).chars()
        .filter(c -> c == (specifiedNumber + '0'))
        .count();