黑马程序员技术交流社区

标题: 思路不是很清晰,求解答 [打印本页]

作者: Leaf_    时间: 2016-8-31 00:56
标题: 思路不是很清晰,求解答
1.分析以下需求,并用代码实现:
        (1)打印1到100之内的整数,但数字中包含9的要跳过
        (2)每行输出5个满足条件的数,之间用空格分隔
        (3)如:1 2 3 4 5
class Demo {
        public static void main(String[] args){
                int x = 0;
                for (int i = 1;i <= 100 ;i++ ){                               
                        if (i%10 == 9 || i/10 == 9){                       
                                continue;                                                       
                        }
                        x++;
                        if (x % 5 == 0){                                               
                                System.out.println(i + " ");
                        }else {
                                System.out.print();
                        }
                }
        }
}



作者: a65912555    时间: 2016-8-31 01:02
顶顶顶~~~
作者: bbbbittersweet    时间: 2016-8-31 01:04
—开学前必须掌握的内容
作者: tbh    时间: 2016-8-31 11:40
class Demo {
        public static void main(String[] args){
                int x = 0;
                for (int i = 1;i <= 100 ;i++ ){           //循环控制1—100                       
                        if (i%10 == 9 || i/10 == 9){           //用当前数除10取余,相当于判断每一位是否为9            
                                continue;                              //如果为9,则继续循环                        
                        }
                        x++;                                             //符合的数量+1
                        if (x % 5 == 0){                                   //判断是否是5的整数倍,是的话换行            
                                System.out.println(i + " ");
                        }else {
                                System.out.print();             //这里应该是System.out.print( i+" ");
                        }
                }
        }
}
作者: DaoDao2    时间: 2016-8-31 22:32
顶顶顶      
作者: 社会你球姐    时间: 2016-9-2 03:05
[Java] 纯文本查看 复制代码
public static void main(String[] args) {
                //定义一个计数器
                int j = 1;
                // 循环获取1-100之间的数
                for (int i = 1; i < 101; i++) {
                        // 把int转换为String类型
                        String num = String.valueOf(i);
                        // 正规表达式
                        String regex = "[^9]+";
                        // 包含返回false,相反返回true
                        boolean b = Pattern.matches(regex, num);
                        if (b) {
                                if (j % 5 != 0) {
                                        System.out.print(num + " ");
                                        //j自身加1
                                        j++;
                                } else {
                                        System.out.println(num + " ");
                                        //从新赋值
                                        j = 1;
                                }
                        }
                }
        }

作者: a825125501    时间: 2016-9-2 09:04
思路很简单,
1: 首先获取!~100,可以用for循环
2: 加一个""空字符串转换为字符串
3: 判断字符串是否包含9,contains()
4: 如果包含则输入,不包含,则跳过,
5: 设置一个计数器,每输出一次则基础器++
6: 当计数器==5的时候则输出一个换行符号,同时计数器归0

over.





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