任务描述
本关任务:3. 交换两个变量的值。输入任意两个整数,分别存入变量data1 和data2,交换两个变量的值。输出交换前和交换后的两个变量的值。
相关知识
为了完成本关任务,你需要掌握: 1.算术运算符与算术表达式 2.赋值运算符与赋值表达式 3.输入输出方法 4.编程解决问题的一般思路。
算法提示
交换两个变量的值,常用的方法有两种。 1.用一个变量作为“中间变量” 比如,我们把变量a和变量b看作两个瓶子,a中存放的是酱油,b中存放的是醋。将a和b中的酱油、醋交换的方法,是利用一个空的变量c作为“中间瓶子”,先把a中的酱油倒入c,再将b中的醋倒入a,最后将c中的酱油倒入b。 2.通过运算实现交换。 设变量a和变量b的值分别是2和4,我们可以先把a+b的值6保存到a中,再把a-b的值(实际上是原来a的值2)赋给b,最后把a-b的值(此时是原来b的值4)赋给a,由此完成了交换。
编程要求
根据提示,在右侧编辑器注释标注的地方补充代码。
测试说明
平台会对你编写的代码进行测试:
测试输入: 10 20; 预期输出: 交换前:data1=10,data2=20 交换后:data1=20,data2=10
开始你的任务吧,祝你成功!
/*交换两个变量的值。输入任意两个整数,分别存入变量data1 和data2,交换两个变量的值。输出交换前和交换后的两个变量的值。*/
import java.util.Scanner;
public class ExchangeData {
public static void main(String[] args) {
int data1,data2,temp; //data1和data2表示输入的两个整数,temp为中间变量
//(1)输入 两个整数,分别赋给data1和data2
Scanner sc=new Scanner(System.in);
data1=sc.nextInt();
data2=sc.nextInt();
System.out.printf("交换前:data1=%d,data2=%d\n",data1,data2);
//(2)交换 data1 和data2的值
temp=data1;
data1=data2;
data2=temp;
//输出结果
System.out.printf("交换后:data1=%d,data2=%d\n",data1,data2);
}
}