<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();
}
}