2017-02-16 7 views
-2

ユーザが任意の順序で3つの数字を入力した場合。どのようにしてJavaでコード化するので、最初に最も小さい番号から最も小さい番号まで表示します。私の論理はそうです:すべての数字を取り、それを他の数字から引きます。減算する場合は、結果が正の集計qtyであり、正の数です。必要な数が正の数は最大であり、以下同様です。問題は、このロジックがJavaでコード化できるか、それとも私のロジックよりも優れた方法ですか?Javaを使用して注文番号を最大から最小まで

ユーザ入力これらの3つの数字:条件はより大きな数

をチェックする場合 5、3、7 (N1、N2、N3)

1st vs. 2nd 
5-3= 2 (positive} <----2nd winner 
3-5= -2 

1st vs. 3rd 
5-7 =-2 
7-5 = 2 (positive) <-----winner 

2nd vs. 3rd 
3-7= -4 
7-3 = 4 (positive) <--------winner 
+0

はリストに番号を追加し、リストをソート? – David

+0

私はそれらを配列に追加し、 'Arrays.sort'を呼び出して3つの番号をソートします。あなたの提案については、 'a> b'は' a-b> 0'よりはるかに読みやすいので、数値を減算するのは避けるでしょう。おそらく、それらをゼロと比較する以外の違いは何もする必要はありません。 – yeputons

答えて

0

あなたは、単に使用することができますここではサンプルプログラムだ

import java.util.*; 
public class SortNumbers { 
public static void main(String[] args) { 
Scanner sc = new Scanner(System.in); 
System.out.print("Enter three integers: "); 
int x = sc.nextInt(); 
int y = sc.nextInt(); 
int z = sc.nextInt(); 
if (x < y) { 
int temp = x; 
x = y; 
y = temp; 
} 
if (y < z) { 
int temp = y; 
y = z; 
z = temp; 
} 
if (x < y) { 
int temp = x; 
x = y; 
y = temp; 
} 
System.out.println("The sorted numbers are " + x + "," + y + "," + z); 
} 
} 
+0

ありがとう、広告されたように動作します – Hunter

0

ユーザーが番号を入力すると、ArrayListに追加し

ArrayList<Integer> numbers = new ArrayList<Integer>(); 
numbers.add(input1); 
numbers.add(input2); 
numbers.add(input3); 

次に配列からsortメソッドを使用します。

Collections.sort(numbers); 
関連する問題