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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 楞个里格朗 中级黑马   /  2013-8-29 09:02  /  1997 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黄兴旺 于 2013-8-29 19:28 编辑

打印1到100之内的整数,但数字中包含7的要跳过,例如:17、27、71、72

怎么让内循环的条件也 走起来:int y=0;y<=9;y++;
                                                     if(x==7+10*y)
                                                      continue;
                                                     if(x==70+y)
                                                       continue;

评分

参与人数 1技术分 +1 收起 理由
夜默 + 1

查看全部评分

10 个回复

倒序浏览
        public static void main(String[] args) {
                /*
                 * 题目:打印1到100之内的整数,但数字中包含7的要跳过,例如:17、27、71、72
                 * 思路:
                 * 1.先打印1-100之内的整数
                 * 2.再在循环中判断出个位和十位数字中含有7的整数
                 */
                for (int i = 1; i < 100; i++) {
                        //10之内只有一个7
                        if(i<10&&i==7)
                                continue;
                        //大于10的数字个位和十位包含7的整数跳过
                        else if(i>10&&i%10==7)
                                continue;
                        else if(i>10&&i/10==7)
                                continue;
                        else
                                System.out.println(i);
                }
        }
        亲,这个题目考查的目的主要是数字个个位数的如何拆分?注意到木有?

评分

参与人数 1技术分 +1 收起 理由
夜默 + 1

查看全部评分

回复 使用道具 举报
我也用过&&这个运算符,但是总是说没有定义,编译不通过,好奇怪 我再试试
回复 使用道具 举报
OK了 还是我的代码量不够啊。离你的已经不差多少了{:soso_e154:}
回复 使用道具 举报
楞个里格朗 发表于 2013-8-29 09:30
OK了 还是我的代码量不够啊。离你的已经不差多少了

呵呵,重在思想,有木有解决问题的思路,亲?
1.分析题目
2.写思路
3.实际编写
4.运行测试
回复 使用道具 举报
月黑风高 发表于 2013-8-29 09:22
public static void main(String[] args) {
                /*
                 * 题目:打印1到100之内的整数,但数字中包含7的要跳 ...

把小于10的判断去掉更好吧,没什么意义
回复 使用道具 举报
薛淑凯 发表于 2013-8-29 09:33
把小于10的判断去掉更好吧,没什么意义

只是考虑的过程,顺手谢了,说的对,亲
回复 使用道具 举报
for (int i = 1; i < 100; i++)
                {
                               
                                if(String.valueOf(i).indexOf('7')!=-1)
                                        continue;
                                System.out.println(i);
                 }
回复 使用道具 举报
328078121 发表于 2013-8-29 09:42
for (int i = 1; i < 100; i++)
                {
                               

总的来说有算法,有些东西考虑就很累,开始学习JAVA,不要考虑太多算法,就考虑有什么功能,怎么用!等到后期有一定基础了,再深入学习算法,优化程序!其实这个程序中indexof运用到遍历的确性能很低下~~!!
算法好的确会提高效率~

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

回复 使用道具 举报
  1. 首先想明白各位上的7十位上的七百位上的7.
  2. int n=7;
  3. for (int i=1;i<100;i++){
  4. if(i%n==0||i%10==n||i/10%10==n){
  5. System.out.print("过\t");
  6. }else{
  7. System.out.print(i+"\t")
  8. }
  9. }
复制代码
回复 使用道具 举报
这个就是考虑数字的拆分,你把一个整数按位拆分一下,然后再做判断。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马