每日一练120——Java鬼代码?!(8kyu)

题目

Trollencio改变了我的代码!你能修好它吗?我的名字不是“哑巴!” o(TT_TT)o

说明:修复代码

输入

Javatlacati

产量

Hello my name is Javatlacati

输入

""

产量

Hello world!
public class GhostCode{
  public static String helloName(final String name){
//   /u000d name="dumb";
    if(name == null || name.equals(""))
      return "Hello world!";
    else
      return "Hello my name is " + name;
  }
}

测试用例:

import static org.junit.Assert.assertEquals;

import org.junit.Test;
import java.util.Random;

public class GhostCodeTest {
  @Test
  public void exampleTests() {
    String result=GhostCode.helloName("Javatlacati");
    //                    message                                     expected               actual
    assertEquals("Hello my name is Javatlacati is not "+result,"Hello my name is Javatlacati",result);
  }
}

解题

My

public class GhostCode{
  public static String helloName(final String name){
    if(name == null || name.equals(""))
      return "Hello world!";
    else
      return "Hello my name is " + name;
  }
}

Other

用多行注释/* ...*/可以有效忽略\u0000类编码格式

public class GhostCode{
  public static String helloName(final String name){
  /* \u000d name="dumb";*/
    if(name == null || name.equals(""))
      return "Hello world!";
    else
      return "Hello my name is " + name;
  }
}

大佬级别

// class GhostCode

\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0063\u006c\u0061\u0073\u0073\u0020\u0047\u0068\u006f\u0073\u0074\u0043\u006f\u0064\u0065\u0020\u007b
\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0068\u0065\u006c\u006c\u006f\u004e\u0061\u006d\u0065\u0028\u0066\u0069\u006e\u0061\u006c\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u006e\u0061\u006d\u0065\u0029\u0020\u007b
\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u006e\u0061\u006d\u0065\u0020\u003d\u003d\u0020\u006e\u0075\u006c\u006c\u0020\u007c\u007c\u0020\u006e\u0061\u006d\u0065\u002e\u0069\u0073\u0045\u006d\u0070\u0074\u0079\u0028\u0029\u0020\u003f\u0020\u0022\u0048\u0065\u006c\u006c\u006f\u0020\u0077\u006f\u0072\u006c\u0064\u0021\u0022\u0020\u003a
\u0022\u0048\u0065\u006c\u006c\u006f\u0020\u006d\u0079\u0020\u006e\u0061\u006d\u0065\u0020\u0069\u0073\u0020\u0022\u0020\u002b\u0020\u006e\u0061\u006d\u0065\u003b
\u007d
\u007d

后记

这题主要是考察格式Unicode类如\u0000,在单行注释//内会被转义并导致编译出错,但是在多行注释/.../里不会。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,195评论 0 13
  • 原文:https://legacy.python.org/dev/peps/pep-3333 PEP:3333标题...
    老周_o_o阅读 2,415评论 0 5
  • 今日关键词:【读后感】、【职得】 昨天晚上在龙兄的微课上我学到了一句让我热血沸腾的话,他说,要想尽一切办法让自己做...
    罗艺律师阅读 611评论 0 0
  • 经历是什么?是少年不识愁滋味,爱上层楼,爱上层楼……;是而今识尽愁滋味,欲说还休,欲说还休……;是曾经踌躇满志、振...
    漫游天外阅读 256评论 0 0