算法训练 数据交换
- 问题描述
编写一个程序,输入两个整数,分别存放在变量x和y当中,然后使用自己定义的函数swap来交换这两个变量的值。
输入格式:输入只有一行,包括两个整数。
输出格式:输出只有一行,也是两个整数,即交换以后的结果。
要求:主函数负责数据的输入与输出,但不能直接交换这两个变量的值,必须通过调用单独定义的函数swap来完成,而swap函数只负责交换变量的值,不能输出交换后的结果。
输入输出样例
样例输入
4 7
样例输出
7 4
2.使用对象引用传值,
import java.util.Scanner;
public class ALGO_221 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int x=sc.nextInt();
int y=sc.nextInt();
swap sp=new swap(x,y);
sp.swap_1();
System.out.println(sp.x+" "+sp.y);
}
//自定义交换函数
public static class swap{
int x;
int y;
//对象的初始化
public swap(int x,int y){
this.x=x;
this.y=y;
}
//类方法 swap
void swap_1(){
//要使用this
int temp=this.x;
this.x=this.y;
this.y=temp;
}
}
}
3.反思和总结
提交了好多次,一直报错,弄得我怀疑人生,后来发现题目的swap的S是小写,改了就好了,可能是蓝桥杯系统升级之后高级了吧;说让你用变量x,y就得用他,要不报错啊。。。。。