Home > タグ > Java

Java

Javaのメソッドが難しい

メソッドで引数を指定してメソッドを読み出すとかあんまり把握できてなくて難しいんだけど。
主にインスタンス化と継承が今一番わからない。メソッド間の受け渡しがかなりわからない。

授業でやったピザ注文プログラム。単品とハーフ&ハーフが注文できて、料金計算するやつ。

PizzaOrder.java

public class PizzaOrder {
    public static void main(String[] args) {
        if ( args.length != 3 && args.length != 4){
            System.out.println( "パラメータに誤りがあります。" );
            return;
        }
        if( args.length == 3){
            String tel = args[0];
            int no1 = Integer.parseInt(args[1]);
            int kazu = Integer.parseInt(args[2]);
           
            //コンストラクタへ値を渡す
            Pizza pi = new Pizza(no1,kazu);
           
            //電話番号表示
            System.out.println("TelNo :" + tel + "のお客様の注文は");
           
            //名称と枚数を取得し表示
            System.out.println(pi.getName() + pi.getKazu() + "枚です");
           
            //料金を計算・表示
            System.out.println("お会計は:" + (int)(pi.getTanka() * pi.getKazu()) + "円です");
        } else if( args.length == 4){
            String tel = args[0];
            int no1 = Integer.parseInt(args[1]);
            int no2 = Integer.parseInt(args[2]);
            int kazu = Integer.parseInt(args[3]);
           
            //コンストラクタへ値を渡す
            ExtPizza ep = new ExtPizza(no1,no2,kazu);
           
            //電話番号表示
            System.out.println("TelNo :" + tel + "のお客様の注文は");
           
            //名称と枚数を取得し表示
            System.out.println(ep.getName() + "と" + ep.getName2() + "のハーフ&ハーフを" + ep.getKazu() + "枚です");
           
            //料金を計算・表示
            System.out.println("お会計は:" + (int)(ep.getTanka() * ep.getKazu()) + "円です");
        }
    }
}

Pizza.java

public class Pizza {
   
    String name;
    int tanka;
    int kazu;
   
    Pizza(int s,int k){
        name = pizzaName(s);
        tanka = pizzaTanka(s);
        kazu = k;
    }
    String pizzaName(int n){
       
        String pina = "";
       
        switch(n){
        case 1:
            pina = "シーフードピザ";
            break;
        case 2:
            pina = "プルコギピザ";
            break;
        case 3:
            pina = "テリヤキチキン";
            break;
        }
        return pina;
    }
   
    int pizzaTanka(int t){
        switch(t){
        case 1:
            t = 2300;
            break;
        case 2:
            t = 2200;
            break;
        case 3:
            t = 2100;
            break;
        }
        return t;
    }
   
    String  getName(){
        return name;
    }
   
    int getTanka(){
        return tanka;
    }
   
    int getKazu(){
        return kazu;
    }
}

ExtPizza.java

public class ExtPizza extends Pizza {
    private String name2;
   
    ExtPizza(int s1,int s2,int k){
        super(s1,k);
        name2 = pizzaName(s2);
        int tanka2 = pizzaTanka(s2);
        tanka = (tanka + tanka2) / 2;
    }
   
    String  getName2(){
        return name2;
    }
}

・コマンドラインから引数を入力する。3つの場合シングルピザ、4つの場合ハーフ&ハーフピザ。
最初に電話番号、ピザの商品番号(1~3)、枚数を入力。ハーフの場合ピザは2つ入力。

・コマンドラインから入力された文字列をint型に変換する。TEL以外をやる。

int i = Integer.parseInt("123");

・インスタンス化してオブジェクトを生成。引数が2つはPizzaクラス、3つの場合はExtPizzaクラス。

クラス型 変数名 = new クラス名(引数1,引数2);

・ExtpizzaはPizzaは継承してるので宣言している変数などは使うことができる。

class サブクラス名 extends スーパークラス { };

スーパークラスとサブクラスで親子の関係。差分をする時に使う。メソッドを呼ぶときに区別が必要。

・オブジェクトを生成した際の変数名を使って結果を呼び出してる。
get系のメソッドはreturnで結果のみ返しているので呼び出してやればいい。

pi.getName()

これで、getName内でreturnされているnameの中身を呼び出しているんだと思う。

初期化コンストラクタ、オーバーロードが今回ないので紛らわしさはそんなになかった。

ピザの名前、値段はswitchでやるよりも効率がいいのがあったと思う。配列とか。

Eclipse上でコマンドラインできなかったかなぁ。どっかでみたきがするんだけど。
コマンドプロンプトでやるのはまあ嫌いではないんだけどね。CUIもいいかなぁと。

Eclipse3.3 Europa

Eclipse(イクリプス)はオープンソースで開発されている開発環境で主にJava開発に用いられます。

Eclipseの最新版(2008/05/09現在)であるEclipse3.3 Europaのインストール方法をメモしておきます。

EclipseダウンロードページよりEclipseをダウンロードします。パッケージが分かれています。

  1. Eclipse IDE for Java Developers
  2. Eclipse IDE for Java EE Developers
  3. Eclipse IDE for C/C++ Developers
  4. Eclipse for RCP/Plug-in Developers
  5. Eclipse Classic 3.3.2

Java開発をする際はJava Developers、C/C++を開発するときはC/C++ Developersというように、
開発する際に必要なプラグインが導入済みなパッケージが用意されてるのでそちらを選ぶといいでしょう。

総合的に開発していきたいというのであれば一番下のClassicを選ぶとよいです。
インストールといってもアーカイブ形式のものを解凍すればすぐ使える状態です。

eclipse.exeで起動することができます。ワークスペースの設定がありますがこれは重要です。
今後プロジェクトを作成していくと思いますがそのデフォルトの保存先を指す形になります。

Eclipseは英語表示がデフォルトですので日本語表示できるように日本語化しましょう。
3.3は未だ公式のランゲージパックがでていないためPleiadesプラグインを使います。

また、Pleiades All in One 日本語ディストリビューションはすでに適応済みのEclipseをDLすることができます。
各開発用にパッケージがありますので対応したものを。Ultimateは全てなので滅茶苦茶多いです。10000ファイル以上。
Pleiadesプラグインの最新版は(2008/05/09現在)1.22であるためDLします。

Pleiadesを解凍したら同封されているpluginsフォルダとfeaturesフォルダをeclipseのディレクトリに上書きします。
eclipseディレクトリにあるeclipse.iniの最後の行に以下の記述をします。

-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

これでEclipseを起動してみましょう。日本語化されていればインストールに関しては終了となります。

-showsplash
org.eclipse.platform

eclipse.iniで上の部分を削除するとスタート画面がPleiadesのものに変わります。

Home > Tags > Java

Search
Feeds
Meta
BlogPet
PageView
  • 試しに自作カウンタ稼働
  • count: 05740

Return to page top