【Java練習問題】Warmup-1: diff21

問題

Given an int n, return the absolute difference between n and 21, except return double the absolute difference if n is over 21.

  • diff21(19) → 2
  • diff21(10) → 11
  • diff21(21) → 0

http://codingbat.com/prob/p116624

問題(日本語訳)

以下の関数diff21を実装する。

public int diff21(int n) {
  
}

1つのint値nが与えられたとき、21とnとの差の絶対値を返す。

nが21より大きい場合、21とnとの差の絶対値を2倍して返すこと。

回答1

public int diff21(int n) {
  if(n > 21) {
    return Math.abs(21 - n) * 2;
  }
  else {
    return Math.abs(21 - n);
  }
}

回答2

public int diff21(int n) {
  return (n > 21)? Math.abs(21 - n) * 2: Math.abs(21 - n);
}

回答3

public int diff21(int n) {
  return Math.abs(21 - n) * ((n > 21)? 2: 1);
}

kazmaarakaki.hatenablog.com