首页 > 解决方案 > 打印数字 3 或 6 从 1 到 1000.like 3 ,6,13,16.....996 的数字,

问题描述

这是我的代码。当数值小于100时,输出正确,当数值为1000时,输出错误

import java.util.*;
public class Test {
    public static void main(String args[]) {
        int i,x,y,z,num;
        int number=1;

        for(;number<1000;number++) {
            i=number;
               while (i > 0) {
                z=i%10; //System.out.println( "digit="+z);
                if(((z%3==0)&&(z%9!=0)&&(z!=0))||(z%6==0)&&(z!=0)) //condition for divisiblity by 3 or 6 and not by 9
                {
                    System.out.println( "number="+number);  
                    break;
                }
                i = i / 10;
            }
        }
    }
}

标签: java

解决方案


这要短得多,而且更有意义。

   for(int i = 0; i < 1000; i++){
   String str = Integer.toString(i);

      for(int j = 0; j < str.length(); j++){
          if(str.charAt(j) == '3' || str.charAt(j) == '6')
              System.out.println("nuber =  "+ i);
      }
   }

推荐阅读