[ad_1]
これは質問全体です:
1. メソッドを作成します。
+ inDescendingOrder(a:int, b:int, c:int): boolean
2. inDescendingOrder は 3 つのパラメーターを取り、a、b、c が降順の場合は true を返し、そうでない場合は false を返します。
3. ユーザーに 3 つの数字を要求し、それらを使用して inDescendingOrder() を呼び出し、最初の 3 つの数字が降順で与えられたかどうかを報告するメイン メソッドを記述します。
典型的なインタラクションは次のようになります: inDescendingOrder へようこそ:
最初の数字を入力してください: 8
2 番目の数字を入力してください: 4
3 番目の数字を入力してください: 5
これらの番号は降順で入力されていません。 8、4、5 はユーザーが入力した数字です。
(jGRASP でコードを実行しようとすると、数値が降順でない場合でも、降順であると表示されます)。
コードを配列ではなく if/else ステートメントに含めたい。
私が試したこと:
Java
import java.util.Scanner; public class DescendingOrder{ public static void main(String[] args){ System.out.println("Welcome to inDecending Order"); int a = readInt("Enter first number: "); int b = readInt("Enter second number: "); int c = readInt("Enter third number: "); inDescendingOrder(a,b,c); if(true){ System.out.println("Those number were entered in decending order"); }else if(false){ System.out.println("Those number were not entered in decending order"); }else{ System.out.println("Error"); //inDescendingOrder(a,b,c); } } public static boolean inDescendingOrder(int a, int b, int c){ boolean flag; if ((a<= b) && (a <= c)){ return flag= false; }else if ((a<=b) && (a>=c)){ return flag= false; // return "Those number were not entered in decending order"; }else if ((a >= b) && (a >= c)){ return flag = true; //return "Those number were entered in decending order"; }else{ return true; } } public static int readInt(String prompt){ Scanner sc = new Scanner(System.in); System.out.println(prompt); return sc.nextInt(); } }
解決策 1
「降順」が何を意味するか考えてみてください。それが正しい唯一の方法は、 a
は最大数であり、 c
最小です。
したがって、その特定のケースを確認してください。
int inDescendingOrder(int a, int b, int c) { if ((a >= b) && (b >= c)) return true; return false; }
[ad_2]
コメント