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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Leaf_ 中级黑马   /  2016-8-31 00:56  /  719 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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();
                        }
                }
        }
}


6 个回复

倒序浏览
顶顶顶~~~
回复 使用道具 举报
—开学前必须掌握的内容
回复 使用道具 举报
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+" ");
                        }
                }
        }
}
回复 使用道具 举报
顶顶顶      
回复 使用道具 举报
[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;
				}
			}
		}
	}
回复 使用道具 举报
思路很简单,
1: 首先获取!~100,可以用for循环
2: 加一个""空字符串转换为字符串
3: 判断字符串是否包含9,contains()
4: 如果包含则输入,不包含,则跳过,
5: 设置一个计数器,每输出一次则基础器++
6: 当计数器==5的时候则输出一个换行符号,同时计数器归0

over.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马