在Java中的”ズンドコキヨシ”

前提 tí)

我想借用一下最近很熱門的「ズンドコキヨシ」話題。
原始內容在這裡↓↓↓

由于Java课程中考试问题要求创建和描述自制函数,所以我创建了一个函数,它会以随机方式持续输出”ズン”或”ドコ”,当输出数组为”ズン”,”ズン”,”ズン”,”ズン”,”ドコ”时,函数会输出”キ・ヨ・シ!”然后结束。我因为这个函数得满分并且通过了考试。

 

如下所示,只需要一种选择:

来源

我們試著創建一個無限流,在順序「嘟」、「嘟」、「嘟」、「嘟」、「咚」中不斷地返回值。


public class ZunDokoKiyoshi {

  enum ズンドコ {
    ズン, ドコ;
  }

  public static void main(String... args) {
    StreamSupport.stream(Spliterators.spliteratorUnknownSize(new ZunDokoIterator(), Spliterator.ORDERED), false)
        .forEach(System.out::println);
    System.out.println("キ・ヨ・シ!");
  }

  static class ZunDokoIterator implements Iterator<ズンドコ> {

    Random rnd = new Random();
    int zc = 0;
    boolean end = false;

    @Override
    public boolean hasNext() {
      return !end;
    }

    @Override
    public ズンドコ next() {
      ズンドコ e = rnd.nextInt(10) % 2 == 0 ? ズンドコ.ズン : ズンドコ.ドコ;
      switch (e) {
      case ズン:
        zc++;
        end = false;
        break;
      case ドコ:
        if (zc >= 4) {
          end = true;
        } else {
          zc = 0;
          end = false;
        }
        break;
      default:
        throw new IllegalArgumentException(e.toString());
      }
      return e;
    }

  }
}

广告
将在 10 秒后关闭
bannerAds