290 likes | 412 Views
プログラミング 第7,8回. 配列 yukita@k.hosei.ac.jp. Heikin1.java(List 9-1, p.203) (1). public class Heikin1 { public static void main(String[] args){ int kokugo, suugaku, eigo; double heikin; kokugo=63; suugaku=90; eigo=75;. Heikin1.java (2).
E N D
プログラミング 第7,8回 配列 yukita@k.hosei.ac.jp プログラミング第7,8回
Heikin1.java(List 9-1, p.203) (1) public class Heikin1 { public static void main(String[] args){ int kokugo, suugaku, eigo; double heikin; kokugo=63; suugaku=90; eigo=75; プログラミング第7,8回
Heikin1.java (2) heikin=(kokugo+suugaku+eigo)/3.0; System.out.println("国語は"+kokugo+"点"); System.out.println("数学は"+suugaku+"点"); System.out.println("英語は"+eigo+"点"); System.out.println("平均点は"+heikin+"点"); } } プログラミング第7,8回
実行結果 国語は63点 数学は90点 英語は75点 平均点は76.0点 プログラミング第7,8回
配列を使うHeikin2.java (List 9-1, p.204) (1) public class Heikin2 { public static void main(String[] args){ int[] ten; double heikin; ten=new int[3]; ten[0]=63; ten[1]=90; ten[2]=75; heikin=(ten[0]+ten[1]+ten[2])/3.0; プログラミング第7,8回
Heikin2.java (2) System.out.println("国語は"+ten[0]+"点"); System.out.println("数学は"+ten[1]+"点"); System.out.println("英語は"+ten[2]+"点"); System.out.println("平均点は"+heikin+"点"); } } プログラミング第7,8回
変数が用意される ten 参照 メモリ上に確保される 配列を使う準備 int [] ten; ten=new int[3]; プログラミング第7,8回
配列要素へのアクセス ten[0] ten[1] ten[2] プログラミング第7,8回
Indexを変数で扱うHeikin3.java (List 9-3, p.210) (1) public class Heikin3 { public static void main(String[] args){ int[] ten; int sum; double heikin; ten=new int[3]; ten[0]=63; ten[1]=90; ten[2]=75; プログラミング第7,8回
Heikin3.java (2) sum=0; for(int i=0; i<3; i++){ sum=sum+ten[i]; } heikin=sum/3.0; プログラミング第7,8回
Heikin3.java (3) System.out.println("国語は"+ten[0]+"点"); System.out.println("数学は"+ten[1]+"点"); System.out.println("英語は"+ten[2]+"点"); System.out.println("平均点は"+heikin+"点"); } } プログラミング第7,8回
配列のlengthフィールドHeikin4.java (List 9-4, p.214) (1) public class Heikin4 { public static void main(String[] args){ int[] ten; int sum; double heikin; ten=new int[5]; ten[0]=63; ten[1]=90; ten[2]=75; ten[3]=45; ten[4]=81; プログラミング第7,8回
Heikin4.java (2) sum=0; for(int i=0; i<ten.length; i++){ sum=sum+ten[i]; } heikin=(double)sum/ten.length; 配列の長さ cast 演算子 プログラミング第7,8回
Heikin4.java (3) System.out.println("国語は"+ten[0]+"点"); System.out.println("数学は"+ten[1]+"点"); System.out.println("英語は"+ten[2]+"点"); System.out.println("理科は"+ten[3]+"点"); System.out.println("社会は"+ten[4]+"点"); System.out.println("平均点は"+heikin+"点"); } } プログラミング第7,8回
配列の初期化Heikin5.java (List 9-5, p.216) public class Heikin5 { public static void main(String[] args){ int[] ten={63, 90, 75, 45, 81}; int sum=0; double heikin; for(int i=0; i<ten.length; i++){ sum=sum+ten[i]; } heikin=(double)sum/ten.length; 省略 プログラミング第7,8回
2次元配列Heikin6.java (List 9-6, p.220) (1) public class Heikin6 { public static void main(String[] args){ int[][] tens={ { 63, 90, 75, 45, 81}, { 85,100, 95, 80, 90}, {100,100,100,100,100}}; プログラミング第7,8回
Heikin6.java (2) for(int i=0; i<tens.length; i++){ int sum=0; for(int j=0; j<tens[i].length; j++){ System.out.print("\t"+tens[i][j]); sum=sum+tens[i][j]; } System.out.println("\t| " +(double)sum/tens[i].length); } } } プログラミング第7,8回
実行結果 63 90 75 45 81 | 70.8 85 100 95 80 90 | 90.0 100 100 100 100 100 | 100.0 プログラミング第7,8回
2次元配列 tens tens[0].length は5 tens[0][0] tens[0][4] 63 90 75 45 81 tens[0] tens[1][0] tens[1][4] tens[1] 85 100 95 80 90 tens[2] tens[2][0] tens[2][4] tens.length は3 100 100 100 100 100 プログラミング第7,8回
ShowArgs.java (List 9-7, p.222) 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]+" です。"); } } } プログラミング第7,8回
実行例 Prompt> java ShowArgs This is good args.lengthの値は3 args[0]の値はThis です。 args[1]の値はis です。 args[2]の値はgood です。 プログラミング第7,8回
オブジェクトプログラミングKamoku.java (List 9-8, p.225) (1) public class Kamoku { String name; //科目名 int mark; //点数 //Constructor public Kamoku(String name, int mark){ this.name = name; this.mark = mark; } プログラミング第7,8回
Kamoku.java (2) //String Representation public String toString(){ return name+"は"+mark+"点"; } } プログラミング第7,8回
オブジェクトの成り立ち Kamokuクラスのインスタンス String オブジェクト 名前 name 参照 mark 点数 プログラミング第7,8回
オブジェクトの動作 new Kamoku(name, mark); 生成 toString メッセージ Kamokuの インスタンス print用の文字列を返す プログラミング第7,8回
Heikin7.java (List 9-9, p.225) (1) public class Heikin7 { public static void main(String[] args){ Kamoku[] kamoku={ new Kamoku("国語",63), new Kamoku("数学", 90), new Kamoku("英語", 75), new Kamoku("理科", 45), new Kamoku("社会", 81)}; プログラミング第7,8回
Heikin7.java (2) int sum=0; for(int i=0; i<kamoku.length; i++){ System.out.println(kamoku[i]); sum+=kamoku[i].mark; } double heikin=(double)sum/kamoku.length; System.out.println("平均点は" +heikin+"点"); } } プログラミング第7,8回
実行結果 国語は63点 数学は90点 英語は75点 理科は45点 社会は81点 平均点は70.8点 プログラミング第7,8回
課題 • 問題9-1から9-9 プログラミング第7,8回