ゆの in Javaを解いてみた
もう出尽くした感があるけど、頑張ってみた。
DISられるの覚悟でうpしてみる。
package hidamari; import java.lang.annotation.Annotation; public class Yuno { static final int X = 1; static final int _ = 1; public static void main(String[] args) { try{ assert X / _ / X < _:"来週も見てくださいね!"; }catch(AssertionError e){ Annotation[] miyako = Miyako.class.getDeclaredAnnotations(); String hiro = toString(miyako); System.out.println(hiro + e.getMessage()); } } public static String toString(Annotation[] annotationArray) { for (Annotation a : annotationArray) { SaeAnnotation yunoAnno = (SaeAnnotation)a; return yunoAnno.value(); } return ""; } } @SaeAnnotation("ひだまりスケッチx365") class Miyako{ public void ゆのっち(){ //よんでみただけ } }
assertしてAssertionErrorを拾ってっていうのはid:t_yanoさんのアプローチと同じ。
で、出力文の中にそのまま「ひだまりスケッチx365」がはいっていたので、そこを
何とか回避しようとしてAnnotationを利用してみた。
package hidamari; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface SaeAnnotation { String value(); }
SaeAnnotationを定義して中身に「ひだまりスケッチx365」を入れてみた。
MiyakoクラスのAnnotationを定義して、そこから「ひだまりスケッチx365」を
取得して表示と言う流れ。
他の人のソースを参考に、というかマネして作ってみました。
こんなかんじで〜す