プログラミング 第7回

プログラミング 第7,8回
配列
[email protected]
プログラミング第7,8回
1
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回
2
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回
3
実行結果
国語は63点
数学は90点
英語は75点
平均点は76.0点
プログラミング第7,8回
4
配列を使う
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回
5
Heikin2.java (2)
System.out.println("国語は"+ten[0]+"点");
System.out.println("数学は"+ten[1]+"点");
System.out.println("英語は"+ten[2]+"点");
System.out.println("平均点は"+heikin+"点");
}
}
プログラミング第7,8回
6
配列を使う準備
int []
ten;
変数が用意される
ten
参照
ten=new int[3];
メモリ上に確保される
プログラミング第7,8回
7
配列要素へのアクセス
ten[0]
ten[1]
ten[2]
プログラミング第7,8回
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回
9
Heikin3.java (2)
sum=0;
for(int i=0; i<3; i++){
sum=sum+ten[i];
}
heikin=sum/3.0;
プログラミング第7,8回
10
Heikin3.java (3)
System.out.println("国語は"+ten[0]+"点");
System.out.println("数学は"+ten[1]+"点");
System.out.println("英語は"+ten[2]+"点");
System.out.println("平均点は"+heikin+"点");
}
}
プログラミング第7,8回
11
配列の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回
12
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回
13
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回
14
配列の初期化
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回
15
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回
16
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回
17
実行結果
63
85
100
90
100
100
75
95
100
45
80
100
81
90
100
プログラミング第7,8回
| 70.8
| 90.0
| 100.0
18
2次元配列
tens
tens[0].length は5
tens[0][0]
63
tens[0]
tens[1]
tens[2]
tens.length は3
tens[0][4]
90
75
45
tens[1][0]
85
tens[1][4]
100
95
80
tens[2][0]
100
81
90
tens[2][4]
100
プログラミング第7,8回
100
100
100
19
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回
20
実行例
Prompt> java ShowArgs This is good
args.lengthの値は3
args[0]の値はThis です。
args[1]の値はis です。
args[2]の値はgood です。
プログラミング第7,8回
21
オブジェクトプログラミング
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回
22
Kamoku.java (2)
//String Representation
public String toString(){
return name+"は"+mark+"点";
}
}
プログラミング第7,8回
23
オブジェクトの成り立ち
Kamokuクラスの
インスタンス
String オブジェクト
名前
name
参照
mark
点数
プログラミング第7,8回
24
オブジェクトの動作
new Kamoku(name, mark);
生成
toString メッセージ
Kamokuの
インスタンス
print用の文字列を返す
プログラミング第7,8回
25
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回
26
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回
27
実行結果
国語は63点
数学は90点
英語は75点
理科は45点
社会は81点
平均点は70.8点
プログラミング第7,8回
28
課題
• 問題9-1から9-9
プログラミング第7,8回
29