每日一练90——Java数绵羊......(8kyu)

2018-09-05  本文已影响0人  砾桫_Yvan

题目

考虑一群绵羊可能会从他们的地方遗失一些羊。我们需要一个函数来计算数组中存在的绵羊数量(true表示存在)。

例如,

[true, true, true, false,
true, true, true, true ,
true, false, true, false,
true, false, false, true ,
true, true, true, true ,
false, false, true, true]
正确答案是17。

提示:不要忘记检查像null/ 这样的错误值undefined。

测试用例:

import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;


public class CounterTest {
    Boolean[] array1 = {true,  true,  true,  false,
                      true,  true,  true,  true ,
                      true,  false, true,  false,
                      true,  false, false, true ,
                      true,  true,  true,  true ,
                      false, false, true,  true };

    @Test
    public void test() {
      assertEquals("There are 17 sheeps in total", 17, new Counter().countSheeps(array1));
    }
}

解题

My

public class Counter {
  public int countSheeps(Boolean[] arrayOfSheeps) {
      int j = 0;
      for (Boolean arrayOfSheep : arrayOfSheeps) {
          if (arrayOfSheep != null) {
              if (arrayOfSheep) {
                  j++;
              }
          }
      }
      return j;
  }
}

Other

public class Counter {
  public int countSheeps(Boolean[] arrayOfSheeps) {
    int counter = 0;
    for (Boolean present : arrayOfSheeps) {
      if (present != null && present) {
        counter += 1;
      }
    }
    return counter;
  }
}

后记

题目经过改动,大部分答案都不适用现在的null值,但是上面这个条件判断我怎么没想到把条件合起来呢。

上一篇下一篇

猜你喜欢

热点阅读