黑马程序员技术交流社区

标题: 基础测试 [打印本页]

作者: haio    时间: 2014-3-3 09:11
标题: 基础测试
本帖最后由 haio 于 2014-3-3 12:38 编辑

打印1~100之内的数遇到包含7的数要跳过7、17、71……
着1~100没问题关键是包含7的数要怎么表达?求高手指教,谢谢!!
作者: 无道    时间: 2014-3-3 09:30
我觉得可以把他们变成字符串,进行判断。。。。
作者: 熊志伟    时间: 2014-3-3 09:35
int i;
i%10 != 7 && i/10 != 7
作者: centian2005    时间: 2014-3-3 11:54
本帖最后由 centian2005 于 2014-3-3 12:07 编辑

1-100,除掉7,17,71
  1. public class Demo {

  2.         public static void main(String[] args) {
  3.                 for(int i=1;i<=100;i++){
  4.                         if(i==7||i==17||i==71){
  5.                                 continue;// 跳出不符合要求的循环,不打印数据
  6.                         }
  7.                         System.out.println("i的值:"+i);
  8.                 }
  9.                
  10.         }
  11. }
复制代码



作者: centian2005    时间: 2014-3-3 11:57
本帖最后由 centian2005 于 2014-3-3 12:04 编辑

你描述的题目也有歧义。如果是打印1-100内,包含7的数字,但是同时排除掉,7,17,71那么如下
  1. import java.util.ArrayList;
  2. import java.util.Iterator;
  3. import java.util.List;

  4. public class Demo {

  5.         public static void main(String[] args) {
  6.                 ArrayList<Integer> list = new ArrayList<Integer>();
  7.                 for (int i = 1; i <= 100; i++) {
  8.                         // i%10,取余数,会筛选出如17,27,37诸如此类的数据
  9.                         // i/10,i做除法,会筛选出诸如70,71,72诸如此类的数据
  10.                         if ((i % 10 == 7) || (i / 10 == 7)) {
  11.                                 list.add(i);// 得到全部符合要求的数据,并放入list集合中
  12.                         }
  13.                         // 将所有数据放入list后,删除7,17,71这几个不符合要求的数据,懒人的做法-0-
  14.                         list.remove((Integer) 7);
  15.                         list.remove((Integer) 17);
  16.                         list.remove((Integer) 71);

  17.                 }
  18.                 // 使用Iterator接口,进行标准化输出
  19.                 Iterator<Integer> i1 = list.iterator();
  20.                 while (i1.hasNext()) {//打印删除7,17,71后的所有符合要求的数据
  21.                         System.out.print(i1.next()+",");

  22.                 }
  23.         }
  24. }
复制代码


作者: haio    时间: 2014-3-3 12:36
真心感谢各位!!
作者: 无此姓名    时间: 2014-3-7 01:05
本帖最后由 无此姓名 于 2014-3-7 01:08 编辑
  1. <blockquote>class qu7
复制代码

作者: 无此姓名    时间: 2014-3-7 01:06
本帖最后由 无此姓名 于 2014-3-7 01:08 编辑

class qu7
{
        public static void main(String[] args)
        {
                for (int x=1;x<101 ;x++ )
                {
                        if ((x%10!=7)&&(x/10!=7))//判断条件有必要解释一下,
                        //只有在余数不是7而且十位不是7的情况下才打印
                                System.out.print(x+" ");
                }
        }
}
为什么我的代码放不上去呢。只能这种形式了

作者: haio    时间: 2014-3-9 09:48
无此姓名 发表于 2014-3-7 01:06
class qu7
{
        public static void main(String[] args)

非常感谢!!




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