3

コンパイル時のこの行:

System.out.println(new String("\44"));

ACSII文字を出力します"$"

"\44"しかし、コマンドライン引数として渡されたときにどのように出力するのですか?

4

1 に答える 1

3

8進数は基数8であるため、基本的に先頭を取り除いて\使用します。Integer.parseInt(arg, 8)

public static void main(String[] args) throws Exception {
    String arg = "\\44"; // simulate command line
    String argOctal = arg.substring(1); // get rid of leading \ to get an octal integer
    int codePoint = Integer.parseInt(argOctal, 8);
    System.out.println('\44');
    System.out.println((char)codePoint);
}

版画

$
$

これは、あなたが次のように走ったと仮定します

java YourClass "\44"
于 2013-10-02T20:03:23.250 に答える