A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zk342577507 中级黑马   /  2016-3-6 22:46  /  2557 人查看  /  19 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.分析以下需求,并用代码实现:
        (1)打印1到100之内的整数,但数字中包含9的要跳过
        (2)每行输出5个满足条件的数,之间用空格分隔
        (3)如:1 2 3 4 5 */

19 个回复

正序浏览
/*
        (1)打印1到100之内的整数,但数字中包含9的要跳过
        (2)每行输出5个满足条件的数,之间用空格分隔
        (3)如:1 2 3 4 5

*/
class Test01 {
        public static void main(String[] args) {
                int count = 0;
                for(int i =1;i <= 100;i++){
                        //求一个数的个位与十位
                        int ge,shi;
                        ge = i % 10;
                        shi = i / 10 ;
                        //判断个位与十位中是否包含9
                        if(ge == 9 || shi == 9) {
                                continue;
                        }
                        System.out.print(i + " ");
                        count++;
                        if(count % 5 == 0)
                                System.out.println();
                }
                System.out.println();
        }
}

来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
1 2 3 4 5
6 7 8 10 11
12 13 14 15 16
17 18 20 21 22
23 24 25 26 27
28 30 31 32 33
34 35 36 37 38
40 41 42 43 44
45 46 47 48 50
51 52 53 54 55
56 57 58 60 61
62 63 64 65 66
67 68 70 71 72
73 74 75 76 77
78 80 81 82 83
84 85 86 87 88
100
回复 使用道具 举报

public class Demo07 {

        /**
         * 1.分析以下需求,并用代码实现:
        (1)打印1到100之内的整数,但数字中包含9的要跳过
        (2)每行输出5个满足条件的数,之间用空格分隔
        (3)如:1 2 3 4 5
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                /*
                 * 拿到题目不知道如何敲代码,那么我们就按常规的思维思考题目,也就是对题目分析,化整为零:我的分析如下:
                 * 1.打印1到100之内的整数,自然想到用for循环,范围是1-100
                 * 2.数字中包含9,也就是说个位是9或者是10位是9,这时有2种做法,第一种是把个位数的1-10中的去掉,把三数数100去掉,第二种就是不管他三七二十一,都遍历
                 * 用代码去判断是几位数
                 * 3.每行输出5个,还记得99乘法表吗?外循环控制输出的行数,内循环控制输出的列数
                 * 4.好了,基本分析就这样,写代码实现吧
                 * */
                int count = 0;  //控制每行的个数
                for (int i = 1; i <=100; i++) {
               
                        if (i == 9) {
                                continue;        //如果数字是9,直接跳过本次循环
                        }
                        if (i % 10 == 9 || (i /10) ==9) {        // i%10 除以10取余,也就是说个位数是9. i/10也就是说十位数上是9
                                continue;
                        }
                        count++;
                       
                        System.out.print(i + " ");  //println 为打印一次换行一次,print为打印不换行,打印一次加空格显示
                        if (count % 5 ==0) {                        //控制每行是5个
                                System.out.println();                //如果是5个就换行
                        }
                }
        }

}
回复 使用道具 举报
1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 18 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 100
回复 使用道具 举报
[Java] 纯文本查看 复制代码
public class Demo07 {

	/**
	 * 1.分析以下需求,并用代码实现:
        (1)打印1到100之内的整数,但数字中包含9的要跳过
        (2)每行输出5个满足条件的数,之间用空格分隔
        (3)如:1 2 3 4 5 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		 * 拿到题目不知道如何敲代码,那么我们就按常规的思维思考题目,也就是对题目分析,化整为零:我的分析如下:
		 * 1.打印1到100之内的整数,自然想到用for循环,范围是1-100
		 * 2.数字中包含9,也就是说个位是9或者是10位是9,这时有2种做法,第一种是把个位数的1-10中的去掉,把三数数100去掉,第二种就是不管他三七二十一,都遍历
		 * 用代码去判断是几位数
		 * 3.每行输出5个,还记得99乘法表吗?外循环控制输出的行数,内循环控制输出的列数
		 * 4.好了,基本分析就这样,写代码实现吧
		 * */
		for (int i = 1; i <=100; i++) {
			if (i == 9) {
				continue;	//如果数字是9,直接跳过本次循环
			}
			if (i % 10 == 9 || (i /10) ==9) {	// i%10 除以10取余,也就是说个位数是9. i/10也就是说十位数上是9
				continue;
			}
			System.out.print(i + " ");  //println 为打印一次换行一次,print为打印不换行,打印一次加空格显示
		}
	}

}
回复 使用道具 举报
[Java] 纯文本查看 复制代码
	public static void main(String[] args) {
		/**
		 1.分析以下需求,并用代码实现:
       		(1)打印1到100之内的整数,但数字中包含9的要跳过
        	(2)每行输出5个满足条件的数,之间用空格分隔
        	(3)如:1 2 3 4 5 
        */
		for(int i=1,count=1;i<=100;i++){
			if((i/10)!=9 && i%10!=9){
				System.out.print(i);
				if(count%5 == 0){
					System.out.println();
					count = 1;
				}else {
					System.out.print(" ");
					count++;
				}
			}
		}
	}
回复 使用道具 举报
2L 回答得很好
回复 使用道具 举报
重要的思路,先把大循环写出来,然后根据要求改动就差不多了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报

public class IncludeNine {
/*
* 1.分析以下需求,并用代码实现:
        (1)打印1到100之内的整数,但数字中包含9的要跳过
        (2)每行输出5个满足条件的数,之间用空格分隔
        (3)如:1 2 3 4 5
*/

        public static void main(String[] args) {
                int count = 0;               
                for (int i = 1; i <= 100; i++) {
                        if (i % 10 == 9 || i / 10 == 9) {
                                continue ;
                        }
                        System.out.print(i+ "\t");
                        count ++ ;
                        if (count % 5 ==0) {
                                System.out.println();
                        }
                }
        }

}
回复 使用道具 举报
回复 使用道具 举报
好厉害  我都想不出来   
回复 使用道具 举报
class Test2
        {
        public static void main(String[] args)
                {
                int add = 0;
                for (int i=1; i<=100; i++)
                        {
                        //个位不含9的数除10余数不为9,十位不含9的数除10商不会为9
                        if ((i % 10 != 9) && (i / 10 != 9))
                                {
                 System.out.print(i+"\t");
                 add++;
                 if (add % 5 == 0)
                                         {
                     System.out.println("*/");
                     }
                 }
            }
        }
    }
回复 使用道具 举报
加油加油~
回复 使用道具 举报
玉质彼端 发表于 2016-3-7 01:27
这是今天第一道作业题么,同学,加油,这是我写的答案,参考参考:
class Day4Text1 {
                pub ...

太棒了........................................
回复 使用道具 举报
我写的和二楼一样,这中问题老师都是给答案的啊。
回复 使用道具 举报
二楼很对,关键是看你的思路
回复 使用道具 举报
楼上的回答真好
回复 使用道具 举报
本帖最后由 玉质彼端 于 2016-3-7 01:59 编辑

这是今天第一道作业题么,同学,加油,这是我写的答案,参考参考:
class Day4Text1 {
                public static void main(String[] args) {
                        int count = 0; // 累加思想,用于控制每5个数换行
                        for (int i=1; i<=100; i++) {
                                if ((i % 10 != 9) && (i / 10 != 9)) { //个位和十位都不含9就打印
                                        System.out.print(i+" ");
                                        count++; //统计打印次数
                                        if (count % 5 == 0) { // 控制每5个数换行
                                                System.out.println();
                                        }
                                }
                        }
                }
        }
回复 使用道具 举报
求什么啊 去论坛活动里面下载啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马