私は以下の宿題の練習をしています:
0より大きい2つのint値が与えられた場合、21に最も近い値を超えずに返します。両方が超過した場合は0を返します。
私は以下のコードを作成しました:
public static void main(String[] args) {
System.out.println(blackjack(22,22));
System.out.println(blackjack(25,25));
System.out.println(blackjack(19,25));
System.out.println(blackjack(25,19));
System.out.println(blackjack(10,10));
System.out.println(blackjack(19,10));
System.out.println(blackjack(1,19));
}
// Create a method like:
public static int blackjack(int a, int b) {
if (a > 21 && b > 21) {
return 0;
}
else if (a <= 21 || b > 21) {
return a;
}
else if (a > 21 || b <= 21) {
return b;
}
else if (a >= b) {
return a;
}
else {
return b;
}
}
メインの出力の最後の行を除いて、すべて機能します。この場合、「a」または「1」を取得し続けるので、メソッド宣言の最後の行の何が問題になっているのかわかりません。何かがおかしいと感じていますが、何を変えたらいいのかわかりません。
これを試して:
public static int blackjack(int a, int b){
if ( a > 21 && b > 21){
return 0;
}
else if ( a <= 21 && b > 21){
return a;
}
else if ( a > 21 && b <= 21){
return b;
}
else if ( a >= b){
return a;
}
else {
return b;
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加