描述
请从标准输入流(控制台)中获取两个整数 a,b,并交换 a,b 的值。然后通过 System.out.println 语句输出到标准输出流(控制台)。输出格式参见样例。
− 1 0 9 ≤ a , b ≤ 1 0 9 −10^9≤a,b≤10^9 −109≤a,b≤109
样例
评测机会将整个项目的代码编译为一个可执行的 Main 程序,并按照这样的方式执行你的代码 Main。你的代码需要从标准输入流(控制台)中读入数据 a,b(每个参数单独一行),交换 a,b 的值后将 a,b 打印到标准输出流(控制台)中。
样例一
当 a = 10,b = 5 时,程序执行打印出的结果为:
a = 5, b = 10
样例二
当 a = 100,b = 99 时,程序执行打印出的结果为:
a = 99, b = 100
解法一:利用中间变量
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();
// write your code here
// you need to swap a and b
int tmp = a;
a = b;
b = tmp;
// keep the code below
System.out.println("a = " + a + ", b = " + b);
}
}
解法二:利用运算符的优先级
通过运算符优先级的优势,先进行运算,再进行赋值
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();
// write your code here
// you need to swap a and b
// 先进行运算,再进行赋值
b = (a + b) - (a = b);
// keep the code below
System.out.println("a = " + a + ", b = " + b);
}
}