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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Imp_x 高级黑马   /  2014-8-21 22:40  /  3066 人查看  /  24 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Imp_x 于 2014-8-23 22:56 编辑

记得以前看到过一个帖子,感觉论坛果然是潜伏了好多高手= =、来发挥点创造力吧  哈哈
要求:打印出Hello World!
  1. class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 if(/*填什么,发表高见吧,哈哈~ ~*/)
  6.                         System.out.print("Hello  ");
  7.                 else
  8.                         System.out.print("World!");
  9.         }
  10. }
复制代码
三楼答案可以的!另外楼主搜集了以下几个可以实现的方法:
  1. 一、使用匿名内部类:
  2. if (new Object(){{System.out.print("Hello,");}} == null)
  3.        
  4. 二、利用PrintStream的append或format等方法(append处改为format):
  5. if (System.out.append("Hello,") == null)

  6. 三、利用反射调用System.out.print
  7. if (System.out.getClass().getMethod("print",String.class).invoke(System.out, "Hello,")!=null)
复制代码

欢迎多增添点啊,每个人的想法都不一样,多交流开阔下视野{:3_64:}


24 个回复

倒序浏览
沙发,拿题回去想想的,谢谢分享
回复 使用道具 举报

复制代码

回复 使用道具 举报
public static void main(String[] args)
    {
            if(System.out.printf("Hello ") == null)
                    System.out.print("Hello  ");
            else
                    System.out.print("World!");
    }

试了下能实现,不过感觉正解应该不是这样。 坐等各位大神

回复 使用道具 举报
坐等大神
回复 使用道具 举报
这题肯定要在括号内下手,3楼那朋友行
回复 使用道具 举报
这个需要了解新的指令吗?
回复 使用道具 举报
sk0806 高级黑马 2014-8-22 07:30:00
8#
我记得也看过这题,,,等等答案
回复 使用道具 举报
我终于知道了   - -.   根本就没法同时运行...所以三楼的应该就是最完美的解释了..
回复 使用道具 举报
本帖最后由 cs8630323 于 2014-8-23 13:03 编辑
王凯路路 发表于 2014-8-22 09:45
我终于知道了   - -.   根本就没法同时运行...所以三楼的应该就是最完美的解释了.. ...

class Test
{
        public static void main(String[] args)
        {
                if(1==1)System.out.println("HELLE WORLD"); else if(1==2)
                        System.out.print("Hello  ");
                else
                        System.out.print("World!");
        }
}

点评

这是真确答案。。?  发表于 2014-8-23 13:23
回复 使用道具 举报
好题目,要多分享啊
回复 使用道具 举报
研究研究。。
回复 使用道具 举报
看看。。
回复 使用道具 举报
HKing 中级黑马 2014-8-22 21:37:02
14#
是不是需要用到递归和反射?坐等大神!
回复 使用道具 举报
liusj 中级黑马 2014-8-22 21:45:55
15#
坐等大神
回复 使用道具 举报
cs8630323 发表于 2014-8-22 20:16
class Test
{
        public static void main(String[] args)

你这都不在一个代码块?
回复 使用道具 举报
我靠,这题有意思。。
回复 使用道具 举报
单线程xia 发表于 2014-8-22 00:01
public static void main(String[] args)
    {
            if(System.out.printf("Hello ") == null)

有一点不懂 if里面的条件表达式System.out.printf("Hello ") == null ,System.out.printf("Hello ") 并没有返回值阿 这个为什么可以判断是否为null?
回复 使用道具 举报
练习题 发表于 2014-8-23 09:16
有一点不懂 if里面的条件表达式System.out.printf("Hello ") == null ,System.out.printf("Hello ") 并没 ...

请注意printf和print的区别
回复 使用道具 举报
java 中的两个函数的总结

printf主要使用格式化,类似于C语言中的格式化输出语句
PrintStream printf(String format, Object... args)
具有返回值,返回PrintStream对象
注意一:
    如果args为空,则printf输出一行数字后不换行
    如果args不为空,则printf输出一行数字后需要换行

注意二:
    printf 因为有返回值,故可以应用到条件表达式之中,
如if(System.out.printf("hello")!=null){
}

print因为返回值为void,故不可以应用到条件表达式之中
如if(System.out.print("hello"))
编译器会报错

这是我在网上找到的,我觉得很有用,所以想分享给大家看看
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马