GCM/LCM の Beans

C:\TMP>java GcmLcmMain
V1=1  V2=1
GCM=1  LCM=1
V1=24  V2=32
GCM=8  LCM=96
V1=30  V2=45
GCM=15  LCM=90
 -- Press any key to exit (Input "c" to continue) --

Beans で作成した GCM/LCM の Object Class です。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. メモ帳などでタイプして GcmLcmBean.java の名前で保存して下さい。
    //★ GCM, LCM を beans で定義    前田 稔
    public class GcmLcmBean
    {   private int   v1,v2;
    
        // Constructor
        public GcmLcmBean()
        {   v1 = 1;
            v2 = 1;
        }
    
        // Get,Set Method
        public void setV1(int v) { this.v1 = v; }
        public void setV2(int v) { this.v2 = v; }
        public int getV1() { return this.v1; }
        public int getV2() { return this.v2; }
    
        // Gcm,Lcm Method
        public int getGcm()
        {   int w1,w2;
            w1= v1;
            w2= v2;
            while(w1!=w2)
            {   if (w1>w2)  w1-= w2;
                else        w2-= w1;
            }
            return w1;
        }
        public int getLcm()
        {   int wk;
            wk= getGcm();
            return (v1*v2)/wk;
        }
    }
    
  2. GcmLcmBean を使う Main Program です。
    メモ帳などでタイプして GcmLcmMain.java の名前で保存して下さい。
    //★ GcmLcmBean を使う Main のサンプルプログラム    前田 稔
    public class GcmLcmMain
    {   public static void main(String args[])
        {   GcmLcmBean  bean= new GcmLcmBean();
    
            System.out.println("V1=" + bean.getV1() + "  V2=" + bean.getV2());
            System.out.println("GCM=" + bean.getGcm() + "  LCM=" + bean.getLcm());
    
            bean.setV1(24);
            bean.setV2(32);
            System.out.println("V1=" + bean.getV1() + "  V2=" + bean.getV2());
            System.out.println("GCM=" + bean.getGcm() + "  LCM=" + bean.getLcm());
    
            bean.setV1(30);
            bean.setV2(45);
            System.out.println("V1=" + bean.getV1() + "  V2=" + bean.getV2());
            System.out.println("GCM=" + bean.getGcm() + "  LCM=" + bean.getLcm());
        }
    }
    
  3. GcmLcmBean.java と GcmLcmMain.java を同じフォルダー(例えば C:\TMP)に格納して下さい。
    GcmLcmBean.java をコンパイルします。
    main() が定義されていないのでエラーが表示されますが、無視して下さい。
    C:\TMP>javac GcmLcmBean.java
    Exception in thread "main" java.lang.NoSuchMethodError: main
    -- Press any key to exit (Input "c" to continue) --
    
    GcmLcmMain.java をコンパイルしてエラーが無ければ実行します。
    C:\TMP>javac GcmLcmMain.java
    C:\TMP>java GcmLcmMain
    V1=1  V2=1
    GCM=1  LCM=1
    V1=24  V2=32
    GCM=8  LCM=96
    V1=30  V2=45
    GCM=15  LCM=90
    

プログラムの説明

  1. Beans はネットワークプログラムで使われることが多いのですが Console Mode でも使われます。
    Beans を定義した Class(GcmLcmBean.java) と Main Class(GcmLcmMain.java)を別ファイルで作成しました。
    set Method でプロパティに値を設定して、get Method でプロパティの値を取得します。
    setメソッド,getメソッドのプロパティの名前は先頭を大文字にするのが慣例です。
  2. v1, v2 が GCM, LCM を求める元の値で、setV1(), setV2() で設定します。
        public class GcmLcmBean
        {   private int   v1,v2;
    
            public void setV1(int v) { this.v1 = v; }
            public void setV2(int v) { this.v2 = v; }
        
  3. getGcm(), getLcm() が GCM, LCM を取得するメソッドです。
    GCM, LCM の説明は LCM Class で最小公倍数を印字 を参照して下さい。
  4. GcmLcmMain.java で GcmLcmBean をインスタンス化して GCM, LCM を計算します。
        {   GcmLcmBean  bean= new GcmLcmBean();
            bean.setV1(24);
            bean.setV2(32);
            System.out.println("V1=" + bean.getV1() + "  V2=" + bean.getV2());
            System.out.println("GCM=" + bean.getGcm() + "  LCM=" + bean.getLcm());
        
  5. Beans は Class として独立しているので、簡単にプロジェクトに組み込むことが出来ます。
    プログラム例は「超初心者のプログラム入門(Java Netgame)」を参照して下さい。

超初心者のプログラム入門(Java2)