问一个 弱智的问题吧。
有一个 studenta 类、
一个对象
id name age
1 1n 1
另一个 studentb 类
一个集合
id name age
2 2n 2
3 3n 3
现在要做的是 把studenta中 id 和 name 与studentb中的id 和 name 互换 ,age 不变
从studentb的最后数据开始。
这是开始的数据
id name age id name age
1 1n 1 2 2n 2
3 3n 3
第一次交换
id name age id name age
3 3n 1 2 2n 2
1 1n 3
第二次交换
id name age id name age
2 2n 1 3 3n 2
1 1n 3
[解决办法]
再定义一个中间对象作为临时的保存不行?和 int temp =a;
a=b;
b=temp思路差不多应该可以
[解决办法]
import java.util.*;
class Student
{
int id;
String name;
int age;
Student(int id,String name,int age)
{
this.id=id;
this.name=name;
this.age=age;
}
}
class SwitchElement
{
public static void main(String[] args)
{
switchElement();
}
public static void switchElement()
{
Student stua=new Student(1,"1n",1);
ArrayList<Student> stub=new ArrayList<Student>();
stub.add(new Student(2,"2n",2));
stub.add(new Student(3,"3n",3));
System.out.println("start...");
System.out.println(stua.id+","+stua.name);
for(Student s:stub)
System.out.println(s.id+","+s.name);
System.out.println("change...");
for(int x=stub.size()-1;x>=0;x--)
{
Student stu=stub.get(x);
//System.out.println(stu.id+","+stu.name);
change(stua,stu);
}
System.out.println(stua.id+","+stua.name);
for(Student s:stub)
System.out.println(s.id+","+s.name);
}
public static void change(Student s1,Student s2)
{
int temp=s1.id;
s1.id=s2.id;
s2.id=temp;
String temp2=s1.name;
s1.name=s2.name;
s2.name=temp2;
}
}