「「「「「System.out.println("paiza learning"); | おまけ解案 のおまけ解案とおまけ」の解案 」の解案とおまけ」の解案とおまけ」の解案とおまけ」の解案

paiza株式会社で学習コンテンツを作ったりしています。この投稿は paiza Advent Calendar 2023 ( https://adventar.org/calendars/8644 ) 22 日目の記事です。

ここまでの経緯

  1. 12/5 の記事( https://note.com/bt_botw/n/n3d20e43b168c

  2. 12/7 の記事(https://note.com/haseco/n/n774beda8b1ff

  3. 12/10 の記事(https://note.com/bt_botw/n/nafbb00cce65e

  4. 12/11 の記事(https://note.com/haseco/n/n9de30c66207f

  5. 12/12 の記事(https://note.com/bt_botw/n/n95e9591fc532

  6. 12/13 の記事(https://note.com/haseco/n/n9bfae80c317d

  7. 12/14 の記事(https://note.com/bt_botw/n/nf87870bb6772

  8. 12/15の記事(https://note.com/haseco/n/nf2ffbba84c8c

  9. 12/21 の記事(https://note.com/bt_botw/n/ndc9d4a4acab4

と、解答案とおまけを交互に出し続けての今回の記事となります。

解答案

import java.util.*;

public class Main {
    public static void main(String[] args) {
        System.out.println("paiza learning");
    }
}

enum System {
    out;
    void println(String str) {
        var r = ResourceBundle.getBundle(out.getClass().getSimpleName());
        java.lang.System.out.println(r.getString(out.getClass().getSimpleName()));
    }
}

Main.java

System=paiza Advent Calender : See you next year

System.properties

https://paiza.io/projects/OSs5sklJndxSCOkQoOy2Pw
どうでしょう。
最後はさくっとずるい方法で。ではまた来年。

使った機能の多くが学べる講座です。

おまけ

もう「おまけを出してはいけない」です。

import java.util.*;

public class Main {
    public static void main(String[] args) {
        System.out.println("paiza learning");
    }
}

コード1

  1. コード1を修正して"paiza Advent Calendar"と表示されるようにしてください。

  2. ただし、5行目(System.out.println("paiza learning");の行)を書き換えてはいけません。

  3. mainメソッドの中で、コメントアウトもif文もfor文もwhile文もdo while文もswitch文もswitch式もラムダも匿名クラスも内部クラスもテキストブロックも使ってはいけません。

  4. 標準エラー出力へ出力した内容は正誤に関係ないものとします。答えは標準出力に出力してください。

  5. 標準出力の2行目以降に余計な文字を出力してはいけません。

  6. 標準出力の1行目に余計な文字を出力してはいけません。

  7. try-catch文、try-finally文、try-with-resources文を使ってはいけません。

  8. System.setOutと書いてはいけません。

  9. 完全修飾名がjava.lang.System.setOutであるメソッドを呼び出してはいけませんし、リフレクションを使って変数の内容を書き換えてはいけません。

  10. 5行目のコードはmainメソッドの中に記述されている必要があります。

  11. mainメソッドをオーバーロードしてはいけません。

  12. スタティックイニシャライザを使ってはいけません。

  13. 完全修飾名がjava.lang.System.exitであるメソッドを呼び出してはいけません。

  14. 1~7行目の編集と1~7行目への追記をすべて禁止します。

  15. ダブルクォートとシングルクォートを追加で使用することを禁止します。

  16. 追加でのリテラル使用を禁止します。

  17. 追加でclass,interface,enum,recordは合わせて1つだけしか記述してはいけません。

  18. 自クラス(class,interface,record)を明示的にnewしてはいけません。

  19. プリミティブ型を表す予約語 (char, byte, short, int, long, boolean) および、それらのラッパークラスを表す識別子 (Character, Byte, Short, Integer, Long, Boolean) を記述してはいけません。

  20. 演算子の+と++と-と--を記述してはいけません。

  21. java.math.BigInteger、java.math.BigDecimal、java.lang.Math、java.lang.StrictMathを使用してはいけません。

  22. toUpperCaseとtoLowerCaseを記述してはいけません。

  23. 演算子の/, <<, >>, >>>, |, ^を記述してはいけません。

  24. 演算子の/=, <<=, >>=, >>>=, |=, ^=を記述してはいけません。

  25. 演算子の+=, -=を記述してはいけません。

  26. 「interface」と記述してはいけません。

  27. length, sizeを記述してはいけません。

  28. java.util.Calendarを利用してはいけません。

  29. ~, &, ~=, &=を利用してはいけません。

  30. https://docs.oracle.com/javase/jp/18/docs/api/constant-values.html で示されている定数フィールドを利用してはいけません。

  31. もうおしまい



この記事が気に入ったらサポートをしてみませんか?