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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 黑马杨晨 于 2012-8-27 15:37 编辑

做题规则:不允许进行上机操作。


1.   请问以下程序会输出什么?


  public   class   Test   {

    public   static   void   main(String[]   args)   {

      Parent   parent   =   new   Parent();

      Parent   child   =   new   Child();

      System.out.println(parent.getName());

      System.out.println(child.getName());

    }

  }


  class   Parent   {

    public   static   String   getName()   {

      return   "Parent ";

    }

  }


  class   Child   extends   Parent   {

    public   static   String   getName()   {

      return   "Child ";

    }

  }





2.   请问以下程序会输出什么?


  public   class   Test   {

    public   static   void   main(String[]   args)   {

      for(int   i   =   0;   i   <=   10;   i++)

        Integer   k   =   new   Integer(i);

      System.out.println( "Java   Puzzlers ");

    }

  }





3.   请补全   i   的声明(要求:i   不允许为   float、double、Float   和   Double   类型)让其能输出“Hello   World”。


  public   class   Test   {

    public   static   void   main(String[]   args)   {

      ________________;   //   补全   i   的声明

      if(   i   !=   i   +   0)   {

        System.out.println( "Hello   World ");

      }

    }

  }

17 个回复

倒序浏览
4.   请问以下程序的输出结果是什么?

  import   java.math.BigInteger;

  public   class   Test   {
    public   static   void   main(String[]   args)   {
      BigInteger   one   =   new   BigInteger( "1 ");
      BigInteger   two   =   new   BigInteger( "2 ");
      BigInteger   three   =   new   BigInteger( "3 ");
      BigInteger   sum   =   new   BigInteger( "0 ");
      sum.add(one);
      sum.add(two);
      sum.add(three);
      System.out.println(sum.toString());
    }
  }



5.   请将下面程序中的空格补全(要求见程序中)

  //   忽略   import   语句
  public   class   Test   {
    
    public   static   void   main(String[]   args)   {    
      List <String>   list   =   new   ArrayList <String> ();
      list.add( "d ");
      list.add( "c ");
      list.add( "c ");
      list.add( "a ");
      list.add( "a ");
      list.add( "b ");
      list.add( "b ");    
      list   =   removeDuplicate(list);
      //   输出的结果应是“d   c   a   b   ”
      for(String   str   :   list)   {
        System.out.print(str   +   "   ");
      }
    }
    
    /**
       *   方法功能:移除   List   中重复的元素,并保持原有的顺序
       */
    public   static   <T>   List <T>   removeDuplicate(List <T>   list)   {
      //   把空格处完善
      return   ____________________________________;
    }
  }
回复 使用道具 举报

回帖奖励 +2

看到楼主发了好几个这样的帖子了,这样也不错,也可以让大家把知识点牢固下
回复 使用道具 举报

回帖奖励 +2

好几个都是错误的
回复 使用道具 举报

回帖奖励 +2

不错没答案,没解释的题目
回复 使用道具 举报

回帖奖励 +2

不是吧,看了半天,没想出来
回复 使用道具 举报
谭海鹏 黑马帝 2012-8-30 00:07:49
7#

回帖奖励 +2

好好想想!
回复 使用道具 举报

回帖奖励 +2

伤不起呀
回复 使用道具 举报
陈莹 中级黑马 2012-8-31 16:33:32
9#

回帖奖励 +2

就是有错误。。。
回复 使用道具 举报

回帖奖励 +2

好好想一想
回复 使用道具 举报
黑马杨晨 发表于 2012-8-27 15:34
4.   请问以下程序的输出结果是什么?

  import   java.math.BigInteger;

就一个小空格 也是出错呀 说实话 我运行了
回复 使用道具 举报

回帖奖励 +2

本帖最后由 庄星睿 于 2012-8-31 19:04 编辑

第一题,应该是全都输出Parent ,静态都看左边声明
第二题,应该编译失败,循环体只定义一条语句,“{}”可以省略,但如果如果只包含一条局部变量定义的语句
        “{}”应该不能省略
第三题,String i = "123";
第四题,0,我查了API,这么说的 :BigInteger不可变的任意精度的整数。应该和String类差不多,那么结果还是0,不变,add方法相加后返回一个新的BigInteger对象
第五题:
   {
if(list == null)
   throw new NullPointerException("");
  List<T> newlist= new ArrayList<>();
  for(T t : list)
  {
   if(!newlist.contains(t))
   {
    newlist.add(t);
   }
  }
  return newlist;
}

第三题 可以把 i 定义成一个字符串( str != str + 0 )的值肯定为true,呵呵。
回复 使用道具 举报

回帖奖励 +2

第二题 是不是应该把Integer k=new Integer(i);用中括号括起来啊,里面在循环操作i。
回复 使用道具 举报
1 都是打印Parent.

2 打印11次Java Puzzlers.

3 public class Test {

        public static void main(String[] args) {
                String i = "i"; // 补全 i 的声明
                if (i != i + 0) {
                        System.out.println("Hello   World ");
                }
        }

}

4 打印0.

5 /**
         * 方法功能:移除 List 中重复的元素,并保持原有的顺序     
         */
        public static <T> List<T> removeDuplicate(List<T> list) {
                List<T> result = new ArrayList<T>();
                Iterator<T> iterator = null;
                T next = null;
                // 把空格处完善
                iterator = list.iterator();
                while (iterator.hasNext()) {
                        next = iterator.next();
                        if (!result.contains(next)) {
                                result.add(next);
                        }
                }
                return result;
        }
回复 使用道具 举报
べ戀¢豬そ☆ 发表于 2012-9-1 09:50
第二题 是不是应该把Integer k=new Integer(i);用中括号括起来啊,里面在循环操作i。 ...

Integer k=new Integer(i);
这句代码根本是多余的,就是用来迷惑大家的呗,就是打印11次Java   Puzzlers而已.
回复 使用道具 举报
马镱洵 发表于 2012-9-1 12:07
Integer k=new Integer(i);
这句代码根本是多余的,就是用来迷惑大家的呗,就是打印11次Java   Puzzlers而 ...

要是括起来就只会打印一次了   不括起来就不对啊
回复 使用道具 举报
so easy! make a mark
回复 使用道具 举报
べ戀¢豬そ☆ 发表于 2012-9-1 13:41
要是括起来就只会打印一次了   不括起来就不对啊

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