問題の説明
プログラムを作成し、2つの整数を入力し、それらを変数xとyに格納してから、自分で定義した関数スワップを使用して、これら2つの変数の値を交換します。
入力フォーマット
入力は、2つの整数を含む1行のみです。
出力フォーマット
出力は1行だけで、2つの整数、つまり交換後の結果です。
請求
main関数はデータの入力と出力を担当しますが、これら2つの変数の値を直接交換することはできません。個別に定義された関数swapを呼び出すことによって行う必要があります。swap関数は変数の値の交換のみを担当し、交換の結果を出力することはできません。
サンプルの入力と出力
サンプル入力
4 7
出力例
7 4
アルゴリズムの実装
JavaにはC ++に似たポインタがないため、データを交換する方法は2つあります。1つはグローバル変数で、もう1つはカスタム参照データタイプです。この問題を回避するには、グローバル変数を使用します。
import java.util.Scanner;
public class Main{
static int x,y;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
x = scanner.nextInt();
y = scanner.nextInt();
swap();
System.out.println(x+" "+y);
scanner.close();
}
private static void swap() {
int temp = x;
x = y;
y = temp;
}
}