10/25 課題

以下のような簡単な電卓プログラムを書きなさい.ファイルは,自分のホー ムディレクトリの下に java というディレクトリを作成して,その下に Kadai1025.java という名前で作成すること(クラス名もKadai1025という名前 で作成すること). 実行例を示す.人間による入力は下線をつけて表わす.
dell.tanaka.ecc.u-tokyo.ac.jp% java Kadai1025
10
10.0
*
3
30.0
+
4
34.0
/
4
8.5
-
0.5
8.0
=

プログラムがちゃんと動くことを確かめたら,

/home/ktanaka/bin/report1025 1
を実行すること.このプログラムは,~/java/Kadai1025.javaの有無,コンパ イル,実行できるかどうかなどをチェックする.なお,自分の名前,学生証番 号,プログラムに関する説明をKadai1025.java の先頭にコメントとして 入れること(前回はプログラムに関する説明が入っていないものが多かった, 今回からは減点の対象とする).
課題の提出期限は10月27日(金)の21:00.それ以前であれば,何度でも再提出できる.

ヒント

条件を満たす入力があるまで繰り返すというタイプの繰り返し文の例が少なかっ たので,下のプログラムをサンプルとして加える.
import java.io.*; // 入力に関するクラスを使う時は必要
class SumAll{
   // throws IOException で内部で入出力エラーが起きる可能性があることを示す
  public static void main(String[] args) throws IOException{
  // 入力をするためには,System.inからBufferedReaderを作らなくてはいけない
    BufferedReader d=new BufferedReader(new InputStreamReader(System.in));
    int sum=0;
    // for文の初期化,終了条件,繰り返し部分を省略して書くこともできる
    // この場合は, break によって明示的に抜けないと無限の繰り返し
    // になる
    for(;;){
      // 1行読み込んで整数に変換する
      int num=Integer.parseInt(d.readLine());
      // 入力した数が負または0の時は抜ける。
      if(num<=0) break;
      sum=sum+num;
    }
    System.out.println(sum);
  }
}
これは,キーボード(標準入力)から数を読み込んでいって,負の数が出たら 抜けて,それまでの和を表示するプログラムである.

10/25 オプション課題

上の課題だけでは満足できない人は,オプションとして,自分が使いやすい ように仕様を変更した電卓プログラムを作成するという課題も解答して, 10/30(月)の21:00までに,lectures.g00.cp1-ktanaka-W-Wed-5 のニュースグ ループに投稿すること.オプション課題も評価の対象にはするが,本来の課題 と比べると比重は小さい(5人に1人程度が解答する程度しか期待していない).