アットウィキロゴ

main()メソッド

main()メソッド★
 
main()メソッドの書式
main()メソッド…プログラム実行時最初に呼び出される1クラスに1つだけ記述できるメソ
ッド。
public static void   main(String[] args) {
メソッドの修飾子  戻り値の型   コマンドライン引数
}

 ■サンプルプログラム

class Eat {
  void print1() {
    System.out.print(" E ");
  }

  void print2() {
    System.out.print(" A ");
  }

  void print3() {
    System.out.print(" T ");
  }
}

class Tea {
 public static void main(String[] args){   ←プログラムの開始
    Eat eat = new Eat();
    eat.print3();
    eat.print1();
    eat.print2();
    System.out.println();
  }                          ←main()メソッド
}

■コマンドライン引数の取得
main()メソッドの引数Stringクラスの配列になっている。この引数はコマンドプロンプトからの入力を受け取る。
 
 > java Testval1 val2 val3

            コマンドライン引数

■サンプルプログラム

class Main {
  public static void main(String[] args){
    int i;

    if(args.length == 0) {
 System.out.println("コマンドライン引数がありません。");
    } else {
 for(i = 0; i < args.length; i++)
    System.out.println((i+1) + ":" + args[i]);
       }
  }
}

■サンプルプログラム

class Test {
   String subject; // フィールド 教科名
   int point;  // フィールド 得点

   void setPoint(String s, int p) { // 得点を設定するメソッド
      subject = s;
      point = p;
   }
  
   String getPoint() {   // 1教科の得点を得るメソッド
      return subject + ":" + point;
   }
}

class Student {
   int id;  // フィールド 生徒の番号
   String name; // フィールド 名前
   int subnum; // フィールド 教科数
   Test[] test;

   Student(int i, String n, int s) { // コンストラクタ
      id = i;
      name = n;
      subnum = s;
      test = new Test[s];
      for(int j = 0; j < s; j++)
   test[j] = new Test();
   }
  
   String getName() {   // 名前を得るメソッド
      return id + ":" + name;
   }

   int getGrade() {    // 総合点を得るメソッド
      int sum = 0;
      for(int i = 0; i < subnum; i++)
         sum += test[i].point;
      return sum;
   }
// メソッドのオーバーロード
   int getGrade(int a) {
      int base = 100 * subnum / a;
      int rank = getGrade() / base + 1;
      return rank;
   }

   void printScore() {   // 成績を表示するメソッド
      System.out.println(getName());
      for(int i = 0; i < subnum; i++)
         System.out.print(test[i].getPoint() + " ");
      System.out.println();
      System.out.println("総合点 " + getGrade());
      int rank = 5;
      System.out.println(rank + "段階評価" + getGrade(rank));
   }
}

class Classroom {
   public static void main(String[] args) {
      Student taro = new Student(12, "taro", 3);
      taro.test[0].setPoint("国語", 95);
      taro.test[1].setPoint("数学", 83);
      taro.test[2].setPoint("英語", 76);
      taro.printScore();

      Student jiro = new Student(7, "jiro", 3);
      jiro.test[0].setPoint("国語", 66);
      jiro.test[1].setPoint("数学", 97);
      jiro.test[2].setPoint("英語", 72);
      jiro.printScore();
   }
}

最終更新:2008年03月07日 19:42