首相が辞任

なんで辞任したのかさっぱりわからん。


簡単にするためにJavaで考えてみる。

class PressureException extends Exception {
}

interface Souri {
  public void doWork() throws PressureException;
  public boolean jinin() throws PressureException;
}

class Fukuda {
  private java.util.Random random = new java.util.Random();
  public boolean kyakkan() {
    return random.nextInt(30) == 0;
  }
}

class FukudaAdapter implements Souri {
  private Fukuda fukuda;
  public FukudaAdapter(Fukuda f) {
    fukuda = f;
  }
  public void doWork() throws PressureException {
    System.out.println("中国行ってきます。");
  }
  public boolean jinin() throws PressureException {
    boolean j = fukuda.kyakkan();
    if (j) {
      System.out.println("あなたと違うんです!");
    }
    return j;
  }
}

class Naikaku implements Runnable {
  private Souri souri;
  public void setSouri(Souri s) {
    souri = s;
  }
  public void run() {
    try {
      do {
        souri.doWork();
      } while (!souri.jinin());
    } catch (Exception e) {
    } finally {
      System.out.println("内閣終了");
    }
  }
}

で、こうですか?

class Nippon {
  public static void main(String[] args) throws Exception {
    Fukuda f = new Fukuda();
    Naikaku n = new Naikaku();
    n.setSouri(new FukudaAdapter(f));
    Thread fukudaNaikaku = new Thread(n);
    fukudaNaikaku.start();
  }
}

結果

F:\tmp\200809>javac -d . *.java

F:\tmp\200809>java -classpath . Nippon
中国行ってきます。
中国行ってきます。
中国行ってきます。
中国行ってきます。
あなたと違うんです!
内閣終了

どっちにしても、さっぱりわからん。