黑马程序员技术交流社区

标题: 求解:有关算法,编写程序,要求如下: [打印本页]

作者: xiaobo    时间: 2014-5-30 16:06
标题: 求解:有关算法,编写程序,要求如下:
编写程序,打印1到100之内的整数,但数字中包含7的要跳过,例如:17、27、71、72



作者: Alan_Kwan    时间: 2014-5-30 16:30
  1. class printInt
  2. {
  3.         public static void main(String [] args)
  4.         {
  5.                 printNum(1,100);
  6.         }

  7.         private static boolean printJuge(int num)
  8.         {

  9.                 if((num / 10 == 7) || (num % 10 == 7))
  10.                 {
  11.                         return false;
  12.                 }

  13.                 return true;
  14.         }

  15.         public static void printNum(int begin, int end)
  16.         {
  17.                 for(int i = begin; i < end + 1; i++)
  18.                 {
  19.                         if(printJuge(i))
  20.                         {
  21.                                 System.out.println(i);
  22.                         }
  23.                 }
  24.         }

  25. }
复制代码


这代码只能实现你的基本需求,但是不是面向对象的思想。
作者: 钟成军    时间: 2014-5-30 16:36
  1. public static void main(String[] args) throws Exception {
  2.                 for(int i = 0;i<100;i++){
  3.                         if((i%10)!=7&&(i/10)!=7){
  4.                                 System.out.println(i);
  5.                         }
  6.                 }       
  7.         }
复制代码



作者: fenzheng    时间: 2014-5-30 16:48
public class JishuOushu {
        public static void main(String[] args) {
               
                for (int i = 1; i < 100; i++) {
                        if (i % 7 ==0||(i>>1)%7 == 0)
                                continue;
                                System.out.println("打印1到100之内的整数,但数字中包含7的要跳过,例如:17、27、71、72 是" + i);
                }
               

        }
}
作者: 123_yaya    时间: 2014-5-30 16:59
  1. public static void main(String[] args) {
  2.         for (int i = 0; i < 100; i++) {
  3.                 String str=Integer.toString(i);
  4.                 if(str.contains("7")){
  5.                         continue;
  6.                 }
  7.                 System.out.println(str);
  8.         }
  9. }
复制代码

作者: 倪大大    时间: 2014-5-30 17:08
这个好办啊.你每取到一个数,就依次判断,用/10(取十位上的数)判断是否等于7,再用%10(取个位上的数)判断是否等于7,当两个都不满足的时候 就输出呗
作者: 丁绍然    时间: 2014-5-30 17:35
定义一个二维数组,判断数组中的元素是否含有7,用两个for循环遍历从0到9。不含有7的元素tostring。在转成int
作者: 小钟    时间: 2014-5-30 20:38
public class Demo {

        /**
         * jvm调用入口主函数;
         * @param args 主函数字符串参数数组;
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //调用打印1到100之内的整数(不含7)函数;
                outPrint();
        }

        /**
         * 打印1到100之内的整数(不含7)函数;
         */
        private static void outPrint() {
                // TODO Auto-generated method stub
                //for()循环1到100之内的整数;
                for (int i = 1; i <=100; i++) {
                        //判断整数i是否含有7;
                        if(panDuan7(i)){
                                //不含7则输出显示;
                                System.out.println(i);
                        }
                }
        }
       
        /**
         * 判断int类型数据是否含有7;
         * @param arg0 需要判断的int类型数据;
         * @return         返回是否含有7,true表示不含7,false表示含有7;
         */
        private static boolean panDuan7(int arg0){
                //将int类型的数据变成String类型;
                String str=""+arg0;
                //判断字符串中是否含有7;
                if(str.contains("7")){
                        //含有7返回false;
                        return false;
                }
                //不含7返回true;
                return true;       
        }

}

作者: 西门吹风    时间: 2014-5-30 23:06
  1. class  ClearSeven
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for(int i=1;i<=100;i++)
  6.                 {
  7.                         if(i/10==7||i%10==7)
  8.                         {
  9.                                 continue;
  10.                         }
  11.                         System.out.println(i);
  12.                 }
  13.         }
  14. }
复制代码


作者: superob123    时间: 2014-5-30 23:52
正好前两天基础测试做了
  1. public class Test8 {

  2.        
  3.         public static void main(String[] args)
  4.         {
  5.                 //建立一个条件变量为x的循环
  6.                 for(int x=1;x<=100;x++)
  7.                 {
  8.                         //将x变成字符串并赋值给change
  9.                         String change=x+"";
  10.                         //判断chang内是否含7如果有这次循环结束,如果没有就打印x
  11.                         if(change.contains("7"))
  12.                                 continue;
  13.                         System.out.println(x+"  ");
  14.                 }

  15.         }

  16. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2