zoukankan      html  css  js  c++  java
  • 第一个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的作用域、构造方法对对象的初始化作用。

    总结程序失败原因:首先概念理解不清晰,理不清相互关系;再者开始时对待问题的思路乱,知道一点就往上凑,从简单的角度切入问题有助解决问题。

  • 相关阅读:
    PAT——1007. 素数对猜想
    PAT——1006. 换个格式输出整数
    PAT——1005. 继续(3n+1)猜想 (25)
    PAT——1003. 我要通过!
    PAT——1002. 写出这个数
    PAT——1001. 害死人不偿命的(3n+1)猜想
    PAT——年会抽奖(错位 排序 )
    PAT——年会抽奖(错位 排序)
    PAT——不吉利的日期(java中date和Calendar使用)
    MapReduce的输入格式
  • 原文地址:https://www.cnblogs.com/hhccdf/p/3341069.html
Copyright © 2011-2022 走看看