moodleへログイン

配列

(教科書204ページ)
配列は,変数に番号を付けて並べたものと考えられます.

  • 変数の場合:
    • 宣言(変数を作る)
    • 代入・初期化(変数に入れる)
    • 参照(変数の中身をみる)

Avarage1.java:

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
-
-
|
|
|
|
|
|
|
|
|
|
|
|
!
!
public class Avarage1{
    public static void main(String[] args){
        int yamada, ueda, oda;
        double avarage;
        
        yamada = 99;
        ueda = 47;
        oda = 64;
        avarage = (yamada + ueda + oda)/3.0;
 
        System.out.println("山田は" + yamada + "点");
        System.out.println("上田は" + ueda + "点");
        System.out.println("小田は" + oda + "点");
        System.out.println("平均点は" + avarage + "点");
    }
}
  • 配列の場合:

    Avarage2.java

    Expand allFold all
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
    
    -
    -
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    !
    !
    
    public class Avarage2{
        public static void main(String[] args){
            int[] point; 
            double avarage;
            
            point = new int[3];
            point[0] = 99;
            point[1] = 47;
            point[2]  = 64;
            avarage = (point[0] + point[1] + point[2])/3.0;
     
            System.out.println("山田は" + point[0] + "点");
            System.out.println("上田は" + point[1] + "点");
            System.out.println("小田は" + point[2] + "点");
            System.out.println("平均点は" + avarage + "点");
        }
    }

配列の宣言

型名[]  配列の変数名

例:

 int[]  point;

配列の確保

配列の変数名 = new 型名[要素の個数]

例:

point = new int[3];

配列の要素

添字(index)

Avarage3.java:

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
-
-
|
|
|
|
|
|
|
|
|
|
-
|
!
|
|
|
|
|
|
!
!
public class Avarage3{
    public static void main(String[] args){
        int[] point; 
        int sum;
        double avarage;
        
        point = new int[3];
        point[0] = 99;
        point[1] = 47;
        point[2]  = 64;
        
        sum = 0;
        for (int i=0; i<3; i++){
            sum = sum + point[i];
        }
        avarage = sum / 3.0;
 
        System.out.println("山田は" + point[0] + "点");
        System.out.println("上田は" + point[1] + "点");
        System.out.println("小田は" + point[2] + "点");
        System.out.println("平均点は" + avarage + "点");
    }
}

Avarage4.java

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
-
-
|
|
|
|
|
|
|
|
|
|
|
|
-
|
!
|
|
|
|
|
|
|
|
|
!
!
public class Avarage4{
    public static void main(String[] args){
        int[] point; 
        int sum;
        double avarage;
        
        point = new int[5];
        point[0] = 99;
        point[1] = 47;
        point[2] = 64;
        point[3] = 43;
        point[4] = 72;
 
        sum = 0;
        for (int i=0; i<point.length; i++){
            sum = sum + point[i];
        }
        avarage = (double)sum / point.length;
 
        System.out.println("山田は" + point[0] + "点");
        System.out.println("上田は" + point[1] + "点");
        System.out.println("小田は" + point[2] + "点");
        System.out.println("幸田は" + point[3] + "点");
        System.out.println("井田は" + point[4] + "点"); 
        System.out.println("平均点は" + avarage + "点");
 
    }
}

Avarage5.java:

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
-
-
|
|
|
-
|
!
|
|
|
|
|
|
|
|
!
!
public class Avarage5{
    public static void main(String[] args){
        int[] point = { 99, 47, 64, 43, 72}; 
        int sum = 0;
 
         for (int i=0; i<point.length; i++){
            sum += point[i];
        }
        double avarage = (double)sum / point.length;
 
        System.out.println("山田は" + point[0] + "点");
        System.out.println("上田は" + point[1] + "点");
        System.out.println("小田は" + point[2] + "点");
        System.out.println("幸田は" + point[3] + "点");
        System.out.println("井田は" + point[4] + "点"); 
        System.out.println("平均点は" + avarage + "点");
    }
}

二次元配列

Avarage6.java:

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
-
-
-
|
|
|
!
-
|
-
|
|
!
|
!
!
!
 
public class Avarage6{
    public static void main(String[] args){
        int[][] points = {
            { 99, 47, 64, 43, 72},
            {100, 60, 62, 70, 64},
            {100, 50, 60, 40, 78},
        }; 
        for (int i = 0; i < points.length; i++){
            int sum = 0;
            for (int j = 0; j < points[i].length; j++){
                System.out.print("\t" + points[i][j]);
                sum += points[i][j];
            }
            System.out.println("\t| " +  (double)sum / points[i].length);
        }
    }
}
 

コマンドラインの引数

ShowArgs.java:

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
-
-
|
-
|
!
!
!
public class ShowArgs{
    public static void main(String[] args) {
        System.out.println("args.lengthの値は " + args.length);
        for(int i = 0; i < args.length; i++){
            System.out.println("args[" + i + "]の値は " + args[i] + "です");
        }
    }
}

オブジェクト指向

メソッドtoStringは、オブジェクトの情報を文字列で返すメソッド
Avarage7.java

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
-
-
-
|
|
|
|
|
!
|
-
|
|
!
|
|
!
!
public class Avarage7{
    public static void main(String[] args){
        Seiseki[] seiseki = {
            new Seiseki("山田", 99),
            new Seiseki("上田", 47),
            new Seiseki("小田", 64),
            new Seiseki("幸田", 43),
            new Seiseki("井田", 72),
        }; 
        int sum = 0;
        for (int i = 0; i < seiseki.length; i++){
                System.out.println(seiseki[i]);
                sum += seiseki[i].point;
        }
        double avarage = (double) sum / seiseki.length;
        System.out.println("平均点は" + avarage + "点");
    }
}

Seiseki.java:

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
-
|
|
|
-
|
|
!
|
-
|
!
!
public class Seiseki{
    String name;
    int point;
 
    public Seiseki(String name, int point){
        this.name = name;
        this.point = point;
    }
 
    public String toString(){
      return name + "は" + point + "点";
    }
}

Robocode詳細

第2回レポート

Robocodeで,以下のロボットプログラムをつくりなさい.

  1. 起動時初期位置から,バトルフィールドの中心に移動して,上を向いて止まる.
  2. 初期位置から,バトルフィールド中心を半径として,バトルフィールド中心を中心として円運動するロボット.ことのき,半径がバトルフィールドの短辺に収まらない場合は,中心へ向けて,移動後,円運動すること.
  • 形式:
    • package名:e12_1
    • 学籍番号_2_1.java,学籍番号_2_2.java(E125701_2_1.java, E125701_2_2.java)
    • 学籍番号_2というフォルダを作り(E125701_2),上記ファイルを入れて,zip圧縮して,そのファイルをアップロードせよ. (例:e125701_2.zip)
  • 各ソースファイルには,コメントでプログラムの説明をつけること.
  • プログラムヘッダ部にコメントで,氏名等の記述を忘れいないこと.

ヒント

  • 現在地のx座標をpxとすると,pxは,次のようにして求められる.
    double px = getX();
  • バトルフィールドの横幅をもとめるには,bwとすると,
    double bw = getBattleFieldWidth();
  • x軸の方向に回転するには,
    turnRight(90-getHeading());
  • 三角関数sin, cosを使うには,Mathライブラリをつかう.sin関数,cos関数は,それぞれ,aは,ラジアン
    Math.sin(a);
    Math.cos(a);


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-06-20 (木) 14:45:23 (2344d)