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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梦幻 中级黑马   /  2014-4-7 07:24  /  1398 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 梦幻 于 2014-4-10 14:57 编辑

这是我编写的程序,目的是打印1到100所有不包含“7”的整数,但运行后打印了所有数,哪里出错了???


class  Dayinshu
{
        public static void main(String[] args)
        {
                dayYin();
        }

        public static void dayYin()
        {
                char qi[] = {'7'};
                w:for (int x= 1;x<=100 ;x++ )
                {
                        String n = x+"";
                        char arr[] = n.toCharArray();
                        while (true)
                        {
                                for (int y=0;y<=arr.length-1 ;y++ )
                                {
                                        if (qi[0].equals(arr[y]) )
                                        {
                                                continue w ;
                                                                        
                                        }
                                }
                                System.out.print(n+"  ");
                                break;
                                                        
                        }

                }
        }

}





评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

8 个回复

倒序浏览
你确定能编译通过?两个问题,1,char是基本类型,没有equals,可以换成Character,2,equals是布尔型,不能==0.
  1. class  Dayinshu
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 dayYin();
  6.         }

  7.         public static void dayYin()
  8.         {
  9.                 Character qi[] = {'7'};
  10.                 w:for (int x= 1;x<=100 ;x++ )
  11.                 {
  12.                         String n = x+"";
  13.                         char arr[] = n.toCharArray();
  14.                         while (true)
  15.                         {
  16.                                 for (int y=0;y<=arr.length-1 ;y++ )
  17.                                 {
  18.                                         if (qi[0].equals(arr[y]))
  19.                                         {
  20.                                                 continue w ;
  21.                                                                         
  22.                                         }
  23.                                 }
  24.                                 System.out.print(n+"  ");
  25.                                 break;
  26.                                                         
  27.                         }

  28.                 }
  29.         }

  30. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
写了一个一样的,不过用最原始的方法实现的,可移植性不好。


  1. class  Dayinshu
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 dayYin();
  6.         }

  7.         public static void dayYin()
  8.         {
  9.             int i=0;   
  10.         for(i=1;i<=100;i++)
  11.                         {if (i!=7&&(i%10)!=7&&((int)i/10)!=7)
  12.                 {  System.out.println(i);
  13.                 }
  14.                
  15.                 }
  16.                 }
  17. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
我也写了一个比较简单的你可以看一下
  1. public class Text2
  2. {
  3.         public static void main(String[] args){
  4.                 for(int i=1;i<=100;i++){
  5.                         if(i%10==7||i/10==7){
  6.                                 continue;
  7.                         }
  8.                         System.out.println(i);
  9.                 }
  10.         }
  11. }
复制代码
回复 使用道具 举报
你这个程序在做比较时出错了!
回复 使用道具 举报
注意泛型,制定了泛型后就可以了
回复 使用道具 举报
同学,分享一下
public static void main(String[] args) {
                //遍历1到100的整数
                for(int num=1;num<=100;num++)
                {                 //判断包含7的整数
                        if(num%10==7)
                        {
                                continue;
                        }
                                                      //打印
                        System.out.println(“num="+num);
                       
                }
        }       
回复 使用道具 举报
好贴好支持!!
回复 使用道具 举报
class  Dayinshu
{
        public static void main(String[] args)
        {
                dayYin();
        }

        public static void dayYin()
        {
                char qi[] = {'7'};
                for (int x= 1;x<=100 ;x++ )
                {
                        String n = x+"";
                        char arr[] = n.toCharArray();
                        int flog=0;  //标记是否有7
                  
                                for (int y=0;y<=arr.length-1 ;y++ )
                                {
                                        if (qi[0]==(arr[y]) )
                                        {
                                             flog=1;   
                                                 break ;
                                                                        
                                        }
                                }                          
                                
                                
                                if(flog==0)
                                System.out.print(n+"  ");
                              
                                                        
                        

                }
        }

}

评分

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

查看全部评分

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