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 + "点";
    }
}

第3回レポート

  • 11月30日に開催するロボコード大会のためにオリジナルロボットのプログラムを作成し提出せよ. 条件:オリジナルであること.
    • ソースにコメントで,説明をつけること
    • 公開されているロボコードソースを引用した場合でも,自分でさらなる説明をつけること.
    • 大会上位者,下位者は,登壇し全員に対しソースの説明,勝因(もしくは,敗因)等をプレゼンすること.
  • package名:e09
  • ロボット名(ロボットクラス名):e0957XX_3(学生番号)
    • javaファイルが複数ある場合,学籍番号_3というフォルダを作り(e095701_3),上記ファイルを入れて,zip圧縮して,そのファイルをアップロードせよ. (例:e095701_3.zip)
  • 締め切り:11月24日正午
  • 提出先:moodle


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