java - 获取出现次数最大次数

标签 java loops while-loop

我正在尝试仅使用 1 个输入来获取出现次数最大次数。

我的代码看起来像:-

Scanner input = new Scanner(System.in);
    int num = input.nextInt();
    int max = 0, count = 0, value, lastValue = 0;

    while (num > 0){

        value = num % 10;
        num = num / 10;
        if (value > lastValue){
            max = value;
        }

        lastValue = value;
    }

    System.out.println(max);
    System.out.println("count is " + count);
}

我如何计算最大数量?

假设我输入了 2556621 count 应该是 2

最佳答案

看起来你的代码应该是

    Scanner input = new Scanner(System.in);
    int num = input.nextInt();
    int max = 0, count = 0, value = 0;

    while (num > 0){

        value = num % 10;
        num = num / 10;
        if (value > max){
            max = value;
            count = 1;
        } else if (value == max){
            count++;
        }
    }

    System.out.println(max); // 6 for 2556621 
    System.out.println("count is " + count); // 2 for 2556621
}

关于java - 获取出现次数最大次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46027702/

相关文章:

javascript - javascript循环将GMarker添加到GMap的问题

PHP sleep() 内部循环不更新数据库

c - 在 C 中的 while 循环中发布增量

java - 将字节数组转换为 List<Byte>

java - 缓存不适用于 Spring 3.0、Hibernate 3.6 和 EhCache 2.6.6

java - CXF NoSuchMethodError ClassHelper.getRealClass

java - if 语句中的 While 循环

java - 如何访问 Angular js 常量内的 JSP 变量

java - 如何给java足够的时间给变量赋值?

java - 我如何使用 For 循环而不是 while 来做同样的事情?