Java:オブジェクト指向にむけて練習問題 [勉強]
キンキンキラキラ金曜日。おはさん、みはようございます。しゃくれアゴです。
今日(08/13)は、職業訓練で使用している教科書(上)の第10章「オブジェクト指向に向けて」に載っている練習問題にチャレンジです。
問題10-2:
「次のような『長方形』クラスを宣言しなさい」
・クラス名はRectangle
・「幅」を表すint型フィールドwidthを持つ
・「高さ」を表すint型フィールドheightを持つ
・幅と高さを指定するコンストラクタを持つ
・幅が123で高さが45のときに、
[ 123, 45 ]
という文字列を得るためのtoStringメソッドを持つ。
問題10-5:
「3教科の試験の合計点を学生毎に表示するプログラムの???部分を完成させなさい」
です。
さて、いっきまーーーす。
以下、問題10-2に対する回答ソースです。
public class Rectangle {
int width;
int height;
//コンストラクタ
public Rectangle(int width, int height) {
this.width = width;
this.height = height;
}
public String toString() {
return "[ " + width +", " + height +" ]";
}
}
こんな感じでしょうか・・・。
と、いうことで、次っ!問題10-5に対する回答ソースです。
public class Student {
String name;
int[] tens;
public Student(String name, int x, int y, int z) {
this.tens = new int[3];
this.name = name;
this.tens[0] = x;
this.tens[1] = y;
this.tens[2] = z;
}
public String toString() {
String s = "[" + name;
for (int i = 0; i < tens.length; i++) {
s += "," + tens[i];
}
s += "]";
return s;
}
public int total() {
int sum = 0;
for (int i = 0; i < tens.length; i++) {
sum += tens[i];
}
return sum;
}
}
public class StudentTest {
public static void main(String[] args) {
Student[] data = {
new Student("しゃくれアゴ", 100, 75, 90),
new Student(" ねじれアゴ ", 90, 100, 85),
new Student(" しり アゴ ", 100, 70, 90),
new Student(" けつ アゴ ", 90, 85, 100),
};
for (int i = 0; i < data.length; i++) {
System.out.println(data[i] + "\t-> " + data[i].total());
}
}
}
上記2つのソースをそれぞれjavacでコンパイルした後、java StudentTestを実行すれば・・・
それぞれの生徒毎の点数および合計点が表示されます。
なんか、あまり難しくなかった気がしますねぇ。
かつて私が独習Cとかで勉強した「構造体」とかと似ている感じなのかなぁ? え、違う??
と、いうことで教科書(上)の練習問題および講師から渡されていた演習問題は終わったのですが・・・・・・、演習問題に1つだけ面倒な問題があるんですよ。
すごろく のような動きをするプログラムなんですけどね。・・・・・・ちょっと頑張って挑戦してみますよ。
コメント 0