有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java有没有找到“漂亮数字”的方法

美丽的数字是只包含一种数字类型的数字,例如:0444555553333

我想写一个安卓应用程序,看看一个数字是否漂亮


共 (2) 个答案

  1. # 1 楼答案

    尝试检查数字的位数,例如数字有5位数(介于10000-99999和>;=11111之间)

     if(num % 11111 == 0){
         //it is beautiful number
     }else{
         //it is not beautiful 
     }
    

    这只是5位数字的一个示例。您可以开发一种检查其他数字数量的算法。我不知道以前有没有创建过算法

  2. # 2 楼答案

    public static boolean isBeautiful(int n) {
        char targetDigit = String.valueOf(n).toCharArray()[0];
        for (char currentDigit : String.valueOf(n).toCharArray()) {
            if (targetDigit != currentDigit) {
                return false;
            }
        }
        return true;
    }
    

    奖金(很抱歉,奖金添加得太晚了,但在这里),下面是如何将所有beautifuls设置为x:

    public static List<Integer> getBeautifuls(int upTo) {
        List<Integer> beautifuls = new ArrayList<>();
        int next = 0;
        while (upTo >= next) {
            beautifuls.add(next);
            if (String.valueOf(next).toCharArray()[0] == '9') {
                next = Integer.valueOf(new String(new char[String.valueOf(next).length() + 1]).replace("\0", "1"));
            } else {
                next = next + Integer.valueOf(new String(new char[String.valueOf(next).length()]).replace("\0", "1"));
            }
        }
        return beautifuls;
    }
    

    基于user102008对这个问题的出色回答的重复字符串算法:Simple way to repeat a String in java

    注意:使用String来创建int有点像黑客,速度也不快