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


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

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

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

原題如下:

已知如下一個類:

class A

{

  int a1,a2;

  A(int i, int j)

  { a1= i; a2 = j;}

}

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

一番折騰之后的代碼:

class A {

    int a1,a2;
    
    
    A(int i,int j)
    {a1=i;a2=j;}
    
    public void swap()                                /*swap函數無形參 */
    {
        int m;
        m=a1;a1=a2;a2=m;
    }
    
    public static void main(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的作用域、構造方法對對象的初始化作用。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM