当前位置:编程学习 > JAVA >>

求小于N的正整数中含有1的数字的个数

比如:如果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)); 
    } 

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,