二値をソートするプログラム
import java.util.Scanner;
public class test3_18 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("変数a:");
int a = stdIn.nextInt();
System.out.print("変数b:");
int b = stdIn.nextInt();
if(a < b) {
int t = a;
a = b;
b = t;
}
System.out.println("a>=bとなるようにソートしました。");
System.out.println("変数aは"+ a + "です。");
System.out.println("変数bは" + b + "です。");
}
}
2値のソート
2つの変数a,bに整数値を読み込んで、降順(大きい順),すなわちa>=bとなるようにソートする(並べ替える)プログラムです。
ソートの手順は以下のようになっています。
・aの値がbより小さいとき・・・aとbの値を交換する。 ・そうでないとき・・・何もしない(そのままでよい)
aとbの値の交換を行う部分が以下です。
{
int t = a;
a = b;
b = t;
}
ブロックの先頭行で宣言されている変数tは、2つの変数の値を交換するのに必要となる変数です。
2値の交換
ブロック内で行っている<<二値の交換>>の手順を理解しましょう。
①aの値をtに保存しておく。 ②bの値をaに代入する。 ③tに保存しておいた最初のaの値をbに代入する。
この3つのステップでaとbの値の交換は完了です。

