来个脑筋急转弯。。。。。

李德胜1995 2017-12-01 08:39:26

if (){
System.out.print("chang");
} else {
System.out.print("you");
}
if里面填写条件,输出结果为:changyou
...全文
686 21 打赏 收藏 举报
写回复
21 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qq_37971853 2017-12-24
http://bbs.csdn.net/topics/392301405 请求大神帮忙解决谢谢
  • 打赏
  • 举报
回复
其实可以 if(method()==null){ system.out.print("chang"); } else{ system.out.print("you"); } public static String method(){ system.out.print("chang"); return "anything not null"; }
  • 打赏
  • 举报
回复
Cathy313 2017-12-04
你为啥不试试就确定运行不出来呢?
引用 8 楼 qq_31492865 的回复:
6楼逻辑上正确,但实际却运行不出来,if括号内是条件,怎么可能实现输出,如果除开在括号内添条件外,这个题我有100中解
  • 打赏
  • 举报
回复
Cathy313 2017-12-04
6楼7楼正解。测试成功
  • 打赏
  • 举报
回复
waxf523 2017-12-04
引用 7 楼 Tian_zhishang 的回复:
六楼正解,分析如下,if ()else中,只能满足其中一个条件,因此两个语句很明显只能调用一个输出,按顺序来想只能后输出you;因此括号中必须同时满足输出change和整个表达式为false这两个条件,所以找输出方法且有返回值的,排除print这些没有返回值的只剩下printf和format一类的格式化输出有返回值,此时只需要输出change加判断这个表达式的值是否为空就能输出changeyou
分析的好有道理,但我想问下,在什么场合下会用到这样的方式输出?
  • 打赏
  • 举报
回复
G.Jagger 2017-12-04
换成 System.out.printf("chang",null) 运行一下就知道了
  • 打赏
  • 举报
回复
Maple_CSM 2017-12-04
if(LZMSL)
  • 打赏
  • 举报
回复
走在四季 2017-12-04
  • 打赏
  • 举报
回复
Cathy313 2017-12-04
引用 16 楼 qq_31492865 的回复:
引用 13 楼 rhy31328 的回复:
你为啥不试试就确定运行不出来呢?[quote=引用 8 楼 qq_31492865 的回复:]
6楼逻辑上正确,但实际却运行不出来,if括号内是条件,怎么可能实现输出,如果除开在括号内添条件外,这个题我有100中解




我不知道 你咋把一个错误的代码运行出来的,请指教[/quote]
我也不知道你是怎么把正确的代码运行不出来的*************
  • 打赏
  • 举报
回复
阳光纯粹 2017-12-04
引用 13 楼 rhy31328 的回复:
你为啥不试试就确定运行不出来呢?
引用 8 楼 qq_31492865 的回复:
6楼逻辑上正确,但实际却运行不出来,if括号内是条件,怎么可能实现输出,如果除开在括号内添条件外,这个题我有100中解
String []i={}; //增加的代码,,运行成功,但与题条件不符 if(System.out.printf("chang",i)== null){ System.out.print("chang"); } else { System.out.print("you"); } //更简便的n种方法之一 System.out.print("chang"); if(false){ System.out.print("chang"); } else { System.out.print("you"); } } 层主,我想你认为的运行出来就是这样的,我不知道你在没在意这道题本身
  • 打赏
  • 举报
回复
阳光纯粹 2017-12-04
引用 13 楼 rhy31328 的回复:
你为啥不试试就确定运行不出来呢?
引用 8 楼 qq_31492865 的回复:
6楼逻辑上正确,但实际却运行不出来,if括号内是条件,怎么可能实现输出,如果除开在括号内添条件外,这个题我有100中解
我不知道 你咋把一个错误的代码运行出来的,请指教
  • 打赏
  • 举报
回复
Wani_Rain 2017-12-04
感觉你在逗我,这怎么能实现
  • 打赏
  • 举报
回复
引用 11 楼 waxf523 的回复:
[quote=引用 7 楼 Tian_zhishang 的回复:] 六楼正解,分析如下,if ()else中,只能满足其中一个条件,因此两个语句很明显只能调用一个输出,按顺序来想只能后输出you;因此括号中必须同时满足输出change和整个表达式为false这两个条件,所以找输出方法且有返回值的,排除print这些没有返回值的只剩下printf和format一类的格式化输出有返回值,此时只需要输出change加判断这个表达式的值是否为空就能输出changeyou
分析的好有道理,但我想问下,在什么场合下会用到这样的方式输出?[/quote] 这是个脑筋急转弯活跃思维用的,至于大部分类似的场合我想都不会用到这种方式,因为一般的写法会比它更轻松
  • 打赏
  • 举报
回复
六楼正解,分析如下,if ()else中,只能满足其中一个条件,因此两个语句很明显只能调用一个输出,按顺序来想只能后输出you;因此括号中必须同时满足输出change和整个表达式为false这两个条件,所以找输出方法且有返回值的,排除print这些没有返回值的只剩下printf和format一类的格式化输出有返回值,此时只需要输出change加判断这个表达式的值是否为空就能输出changeyou
  • 打赏
  • 举报
回复
阳光纯粹 2017-12-02
6楼逻辑上正确,但实际却运行不出来,if括号内是条件,怎么可能实现输出,如果除开在括号内添条件外,这个题我有100中解
  • 打赏
  • 举报
回复
java小白脸 2017-12-01

if(System.out.printf("chang","")== null){
               System.out.print("chang");
          } else {
              System.out.print("you");
          }
  • 打赏
  • 举报
回复
阳光纯粹 2017-12-01
  • 打赏
  • 举报
回复
李德胜1995 2017-12-01
引用 3 楼 qq_31492865 的回复:
有本事你实现给我看看
菜鸡。。。等高手出来实现给你看
  • 打赏
  • 举报
回复
阳光纯粹 2017-12-01
有本事你实现给我看看
  • 打赏
  • 举报
回复
李德胜1995 2017-12-01
引用 1 楼 qq_31492865 的回复:
这道题实现不了
  • 打赏
  • 举报
回复
加载更多回复(1)
发帖
Java SE

6.2w+

社区成员

Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
帖子事件
创建了帖子
2017-12-01 08:39
社区公告
暂无公告