課題 (02:ベーシック)

作業について

今回の課題は以下のパッケージに作成してください。

パッケージの名前
j1.lesson02

作成するクラスの名前は問題ごとに指示があります。下記を参照してください

課題の提出方法については下記を参照してください。

また、別のコンピューター上に移動する際には、下記を参考にプログラムを持ち帰ってください。

問題

1. 文字列の結合(考察課題)

作成するファイルの名前
LeftAssoc.txt

ファイルの作成方法については下記を参照してください。

下記は「1 + 2 * 3 = 7」と表示しようとしているプログラムですが、計算順序について間違っているために期待通りに動作しません。

package j1.lesson02;

import javax.swing.JOptionPane;

public class LeftAssoc {

    public static void main(String[] args) {
        new LeftAssoc().start();
    }

    void start() {
        JOptionPane.showMessageDialog(null, "1 + 2 * 3 = " + 1 + 2 * 3);
    }
}

以下の問いに答えて下さい。

  1. このプログラム実行させると何が表示されるでしょうか
  2. なぜそのような表示になるのでしょうか
  3. どのように修正すれば「1 + 2 * 3 = 7」という表示になるでしょうか

2. 年号変換

作成するクラスの名前
ConvertEra

現在の年号は平成ですが、コンピュータの世界では西暦を使うことがほとんどです。そこで、平成で年を入力し、対応する西暦の年を表示するプログラムを作成してください。

なお、「平成元年」という特殊な年や、「平成-2年」などの範囲外の値については、今回は気にしなくてもかまいません。範囲外の値については次回の条件分岐で対処方法について説明します。

3. 総額計算

作成するクラスの名前
SalesTax

2010年4月現在、小売店などで商品を購入すると物品の価格に5%の消費税が上乗せされます。たとえば1000円の商品を購入した場合、消費税額はその5%の50円となり、合計で1050円支払うことになります。

さらに、2004年4月1日から「総額表示方式」が導入されました。これは値札を表示する場合に税込の価格を記載することを義務付けるものです。

以上を踏まえて、総額表示された値札から消費税抜きの価格と、その消費税を表示するプログラムを作成してください。ただし、入力できる項目は「表示価格(円)」とし、それに含まれる税抜きの価格(円)と消費税(円)を別々に表示するようにしてください。表示する際には、その値が何を表しているのかがわかるようにメッセージをうまく組み立てて下さい。

なお、金額の端数については特に気にしなくてもかまいません。気になる人は、下記のようにすることで小数点以下を切り捨てて実数を整数に変換できます。

double realNumber = 1.05;
int rounding = (int) realNumber;

4. 短期の定期預金での利息計算

クラスの名前
InterestCharge

銀行に短期(1年未満)の定期預金を作成することを考えてみましょう。銀行の利息は1年預けた場合のもの(年利)が書いてありますが、1年に満たない場合には日割り計算というものを行って実際の利息を算出します。

日割り計算の方法は銀行によって異なる場合がありますが、一般的には預けた日数を365で割ったのちに、年利を掛けると実際に受け取れる利息率になります。ただし、日本では受け取る利息に20%の源泉徴収が行われますので、たとえば1000円の利息を受け取る場合は200円天引きされ、実際には手元に800円だけが残ることになります。

以上を踏まえて、短期の定期預金での利息計算を計算するプログラムを作成してください。ただし、入力できる項目は「預金額(円)」「預金する期間(日数)」「年利(%)」の3つとし、定期預金が満期になった際に受け取るおおよその利息(円)を表示するようにしてください。また、現在の年利は1%未満であることも多いので、細かい値も入力できるようにしてください。

なお、余力がある人は1年以上預けた場合についても考えてみて下さい。