クラス
Java練習問題 第10回では「クラス」についての問題を用意してあります。
「クラス」の解説はこちら
問題 1 難易度 ★★
サンプルプログラムに以下の①~②の手順を追加し、占いプログラムを完成させてください。
① main メソッドの中でFortuneTeller(定義済みの占い師クラス)インスタンスを生成してください。
② FortuneTeller インスタンスの forecast メソッドを呼び出してください。
public class Main_0601 {
public static void main(String[] args) {
// ここに解答を記述してください。
}
}
class FortuneTeller {
// 占いを行うメソッド
void forecast() {
String[] resAry = { "大吉", "吉", "凶" };
int n = new java.util.Random().nextInt(resAry.length);
System.out.println("あなたの運勢は「" + resAry[n] + "」です。");
}
}
実行例
あなたの運勢は「吉」です。
問題 1 解答
正解は、、、
public class Main_0601 {
public static void main(String[] args) {
FortuneTeller ft = new FortuneTeller();
ft.forecast();
}
}
//占い師クラス
class FortuneTeller {
// 占いを行うメソッド
void forecast() {
String[] resAry = { "大吉", "吉", "凶" };
int n = new java.util.Random().nextInt(resAry.length);
System.out.println("あなたの運勢は「" + resAry[n] + "」です。");
}
}
問題 2 難易度 ★★★
以下の手順に従ってプログラムを作成してください。
① Car クラスを定義してください。
② 作成した Car クラスにdrive()メソッドを定義してください。
③ drive()は呼び出されると「車は走り始めました」と出力するように定義してください。
④ main メソッド内で Car クラスのインスタンスを生成し、drive()メソッドを呼び出してください。
実行例
車は走り始めました
問題 2 解答
正解は、、、
public class Main_0602 {
public static void main(String[] args) {
Car car = new Car();
car.drive();
}
}
class Car {
public void drive() {
System.out.println("車は走り始めました");
}
}
問題 3 難易度 ★★★
以下の手順に従ってプログラムを作成してください。
① 四角形を表す Square クラスを定義して下さい。
② Square クラスに、高さを表す height フィールド、幅を表す width フィールド、面積を返す getArea()メソッドを定義して下さい。
③ Square クラスに、辺の数「4」を表す定数フィールドを定義して下さい。
④ Square クラスに、四角形の大きさをセットする setSize メソッドを定義して下さい。setSize メソッドは、二つの数値を使用して高さと幅を引数とするものと、一つの数値を使用して正方形とするものをオーバーロードして下さい。
⑤ main メソッド内で Square クラスのインスタンスを二つ生成し、変数名は、square1,square2 として下さい。square1 は高さ7、幅5とし、square2 は一辺の大きさが3の正方形として下さい。
⑥ Square クラスの定数フィールドを使って、四角形の辺の数を出力して下さい。
⑦ 二つの square 型インスタンスを使用して、高さ、幅、面積を出力して下さい。
実行例
四角形の辺の数は 4 です
square1 高さ:7 幅:5 面積:35
square2 高さ:3 幅:3 面積:9
問題 3 解答
正解は、、、
public class Main_0603 {
public static void main(String[] args) {
Square square1 = new Square();
Square square2 = new Square();
square1.setSize(7, 5);
square2.setSize(3);
System.out.println("四角形の辺の数は" + Square.num + "です");
System.out.println(
"square1"
+ " 高さ:" + square1.height
+ " 幅:" + square1.width
+ " 面積:" + square1.getArea());
System.out.println(
"square2"
+ " 高さ:" + square2.height
+ " 幅:" + square2.width
+ " 面積:" + square2.getArea());
}
}
class Square {
static int num = 4;
int height;
int width;
int getArea() {
return height * width;
}
void setSize(int height, int width) {
this.height = height;
this.width = width;
}
void setSize(int size) {
this.height = size;
this.width = size;
}
}
Java練習問題 第11回では「コンストラクタ」から出題します。
コメント