<1>这是对两个String变量的交换
package middle;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/*不使用中间变量 把两个变量的值互换*/
public class Middle {
List list=new ArrayList();
Scanner input=new Scanner(System.in);
//使用ArrayList集合
public void change() {
//顺序把两个元素加入集合
for (int i = 0; i <2; i++) {
System.out.print("请输入变量的值:");
String str=input.next();
list.add(i, str);
}
/*在这里我遇到一个问题
*就是我想直接把第一个输入的input值放到list.add(1,str)的位置
*但是报错了,后来我想不能直接放到集合的第二个位置
*因为此刻集合没有初值*/
//倒序输出list集合
for (int i = 1; i >=0; i--) {
System.out.print(list.get(i)+" ");
}
}
//使用LinkedList集合,可以比上面少写一个循环
public void changeLink() {
//顺序把两个元素加入集合
for (int i = 0; i <2; i++) {
System.out.print("请输入变量的值:");
String str=input.next();
link.add(str);
}//for
//输出,比上面少了一个for循环
System.out.print(link.getLast());
link.removeLast();
System.out.print(link.getFirst());
}//changeLink
}
package middle;
public class Test {
public static void main(String[] args) {
Middle m=new Middle();
//调用change方法交换位置
m.change();
}
}
<2>这是两个常量的交换
package middle;
import java.util.Scanner;
/*不使用中间变量 把两个变量的值互换*/
public class Middle {
Scanner input=new Scanner(System.in);
public void changeMath() {
double []math=new double[2];
for (int i = 0; i <2; i++) {
System.out.print("请输入变量的值:");
math[i]=(double) input.nextDouble();
}//for
//将两个常量相加
math[0]=math[0]+math[1];
//相加后的数值减去常量1放入常量1里
math[1]=math[0]-math[1];
//相加后的数值减去(经过上面步骤的)常量1放入常量0里
math[0]=math[0]-math[1];
System.out.println(math[0]+" "+math[1]);
}
}
package middle;
public class Test {
public static void main(String[] args) {
Middle m=new Middle();
m.changeMath();
}
}