3つの整数のソート

1466 ワード

1.問題の説明:
3つの数を入力し、サイズを比較し、大きいものから小さいものまで出力します.
入力フォーマット
1行3個の整数
出力フォーマット
1行に3つの整数を大から小に並べ替えます.
サンプル入力
33 88 77
サンプル出力
88 77 33
2.方法1:Javaの三目演算子で最大値を判定して残りの要素の大きさ関係を判定する ,方法2新しい整数配列を作成して要素を格納し、配列を並べ替えて逆順序で出力すればよい.
コードは次のとおりです.
①三項演算子
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		int max = (a > b ? a : b) > c ? (a > b ? a : b) : c;
		System.out.print(max + " ");
		if(max == a){
			if(b > c){
				System.out.print(b + " " + c);
			}else{
				System.out.print(c + " " + b);
			}
		}else if(max == b){
			if(a > c){
				System.out.print(a + " " + c);
			}else{
				System.out.print(c + " " + a);
			}
		}else{
			if(a > b){
				System.out.print(a + " " + b);
			}else{
				System.out.print(b + " " + a);
			}
		}
		sc.close();
	}
}

②Arrays.sort(int arr)メソッド配列をソート逆順出力
import java.util.Arrays;
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int arr[] = new int[3];
		for(int i = 0; i < 3; i++){
			arr[i] = sc.nextInt();
		}
		Arrays.sort(arr);
		for(int i = 2; i >= 0; i--){
			System.out.print(arr[i] + " ");
		}
		sc.close();
	}
}