天天看點

java string swap_第一個java——swap()交換方法

其實這學期的java課開了将近四星期了,加上開學前的小小預習。編寫不下于二十幾個java了。

可這一有關swap()方法的java确實是首次迷惑不解到處尋求解決的程式。

課堂上老師有關類、方法、對象的講解還沒消化的時候編寫swap()就把我繞得更暈了。

原題如下:

已知如下一個類:

class A

{

int a1,a2;

A(int i, int j)

{ a1= i; a2 = j;}

}

要求編一個方法swap()用來交換A類的兩個對象的成員變量的值。

一番折騰之後的代碼:

classA {inta1,a2;

A(int i,intj)

{a1=i;a2=j;}public void swap() {intm;

m=a1;a1=a2;a2=m;

}public static voidmain(String args[])

{

A pt=new A(2,4);

System.out.println("a1= "+pt.a1+",a2= "+pt.a2);

pt.swap();

System.out.println("a1= "+pt.a1+",a2= "+pt.a2);

}

}

結果正确。

之前失敗代碼遺失,不能對比。

但我清楚記得之前是糾結在swap()的形參上面,一面知道按值傳遞無法交換(根據C帶出來的想法,但對與解釋概念不清),一面用複雜類型(類、數組、接口)中的類,又總是指代不清,頻頻受阻。還有,就是成員變量a1,a2的作用域、構造方法對對象的初始化作用。

總結程式失敗原因:首先概念了解不清晰,理不清互相關系;再者開始時對待問題的思路亂,知道一點就往上湊,從簡單的角度切入問題有助解決問題。