ゆの 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」を
取得して表示と言う流れ。

他の人のソースを参考に、というかマネして作ってみました。

こんなかんじで〜す