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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 企鹅1号 中级黑马   /  2016-10-1 19:43  /  1006 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 企鹅1号 于 2016-10-1 19:46 编辑

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

class Test {
        public static void main(String[] args) {
                for (int i = 1;i<=100 ; ){
                        for (int y = 1;y <=5&&i<=100 ;y++ ){
                                if (i%10==9||i/10==9){
                                        i++;
                                        y--;
                                }else{
                                System.out.print(i+"\t");
                                i++;        
                        }
                        }
                        System.out.println();
                }
        }
}
这个题目用while写好还是用for循环写好?求解
我感觉while,比for写的,更复杂有没有

3 个回复

倒序浏览
只要能写出正确答案就行了,一般while用来不确定循环次数,for用于确定循环次数
回复 使用道具 举报
while更好吧,这是我用while写的
public class Demo2 {

        /**
         *  (1)打印1到100之内的整数,但数字中包含9的要跳过
        (2)每行输出5个满足条件的数,之间用空格分隔
        (3)如:1 2 3 4 5
         */
        public static void main(String[] args) {
                int i = 1;        //要输出的数值
                int j = 0;        //控制换行的条件
                while(i<=100){
                        if(!(i%10==9||i/10==9)){        //如果数字不包含9,正常输出
                                System.out.print(i+"\t");
                                j++;        //输出后控制换行条件加1;
                        }
                        i++;        //每循环一次都要加1,超过100跳出循环
                        if(j==5){        //如果输出了5个数就执行换行,并将换行条件变量重置为0
                                System.out.println();
                                j=0;
                        }
                }
        }

}
回复 使用道具 举报
我感觉都差不多的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马