求小於N的正整數中含有1的數字的個數 – JAVA編程語言程序開發技術文章

比如:如果n= 11,那麼返回3.因為有1 ,10 ,11

下面是具體實現的代碼

[java] 
  /**
     * 判斷小於10000的數中含有1的正整數的個數
     * @param number
     * @return 
     */ 
    public static int countOne(int number) { 
        //統計1的個數 
        int sum = 0; 
        //把數字轉換成字符 
        String end = String.valueOf(number); 
 
        int i = 1; 
        String begin = String.valueOf(1); 
 
//        for (; begin.compareTo(end) != 0; ) { 
//            //如果包含1就遞增 
//            if (begin.contains("1")) { 
//                sum++; 
//            } 
//            i++; 
//            begin = String.valueOf(i); 
//        } 
         
        while(begin.compareTo(end) != 0){ 
             if (begin.contains("1")) { 
                sum++; 
            } 
            i++; 
            begin = String.valueOf(i); 
        } 
         
        return ++sum; 
    } 
 
    public static void main(String[] args) { 
        int number = 41; 
        System.out.println(countOne(number)); 
    } 

發佈留言