トラック
/
Java
Java
/
演習
/
ラザニアを作ろう
ラザニアを作ろう

ラザニアを作ろう

学習演習

はじめに

基本

Javaは静的型付け言語です。つまり、変数の型はコンパイル時にわかります。 名前に値を割り当てることを、変数の定義といいます。 変数は、型を明示的に指定して定義します。

int explicitVar = 10;

変数の値の更新は、=演算子で行います。 ここで=は、数学的な等号を意味するものではありません。 単に変数に値を代入するだけです。 一度定義されたら、変数の型は決して変わりません。

int count = 1; // Assign initial value
count = 2;     // Update to new value

// Compiler error when assigning a different type
// count = false;

Javaはオブジェクト指向言語であり、すべての関数を_クラス_内で定義する必要があります。 classキーワードを使ってクラスを定義します。

class Calculator {
    // ...
}

クラス内の関数は、_メソッド_と呼ばれます。 各メソッドは、0個以上の仮引数を持てます。 すべての仮引数は明示的に型を指定する必要があり、仮引数には型推論がありません。 同様に、戻り値の型も明示する必要があります。 メソッドから値を返すには、returnキーワードを使います。 メソッドを他のクラスから呼び出せるようにするには、publicアクセス修飾子を付ける必要があります。

class Calculator {
    public int add(int x, int y) {
        return x + y;
    }
}

メソッドを呼び出すには、クラス名とメソッド名を指定し、各仮引数に対応する引数を渡します。

int sum = new Calculator().add(1, 2);  // here the  "add" method has been called to perform the task of addition

Javaのスコープは、{と}の文字の間に定義されます。

Javaでは、2種類のコメントが書けます。 単一行コメントは//で始まり、複数行コメントは/*と*/の間に書きます。

説明

この演習では、お気に入りの料理本から最高のラザニアを作るためのコードを書いていきます。

ラザニアの調理にかかる時間に関する、4つのタスクがあります。

1. オーブンでの想定加熱時間を分単位で定義する

expectedMinutesInOven()メソッドを定義しましょう。このメソッドは入力を受け取らず、ラザニアをオーブンに入れておくべき時間を分で返します。料理本によると、オーブンでの想定加熱時間は40分です。

Lasagna lasagna = new Lasagna();
lasagna.expectedMinutesInOven();
// => 40

2. 残りのオーブン加熱時間を分単位で計算する

remainingMinutesInOven()メソッドを定義しましょう。このメソッドは、ラザニアを実際にオーブンに入れておいた時間を分で入力として受け取り、前のタスクで求めた想定加熱時間をもとに、ラザニアをあと何分オーブンに入れておく必要があるかを返します。

Lasagna lasagna = new Lasagna();
lasagna.remainingMinutesInOven(30);
// => 10

3. 準備時間を分単位で計算する

preparationTimeInMinutes()メソッドを定義しましょう。このメソッドは、ラザニアに重ねた層の数を入力として受け取り、ラザニアの準備にかかった時間を分で返します。1層あたり2分かかるものとします。

Lasagna lasagna = new Lasagna();
lasagna.preparationTimeInMinutes(2);
// => 4

4. 合計作業時間を分単位で計算する

totalTimeInMinutes()メソッドを定義しましょう。このメソッドは2つの入力を受け取ります。1つ目は、ラザニアに重ねた層の数です。2つ目は、ラザニアをオーブンに入れておいた時間を分で表したものです。この関数は、ラザニアの調理にかかった合計時間を分で返します。合計時間は、準備にかかった時間と、その時点でラザニアがオーブンに入っていた時間を足したものです。

Lasagna lasagna = new Lasagna();
lasagna.totalTimeInMinutes(3, 20);
// => 26
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Java Exercism

ラザニアを作ろうを始める準備はできましたか?

Exercismに登録すれば、26個のコンセプト158個の演習、そして本物の人間によるメンタリングとともに、Javaを学んでマスターできます。すべて無料です。