電卓プログラム
以下のような簡単な電卓プログラムを作る.
- 入力は数の行と四則演算子(+, -, *, /)の行を交互に入れる.数の行を
入れた直後にそれまでの計算結果を表示する.最後に四則演算子の代りに= を
入れると終了する.
- 演算子の優先順位などは考慮せず,入力順に計算していく.
実行例を示す.人間による入力は下線をつけて表わす.
dell.tanaka.ecc.u-tokyo.ac.jp% java Calc
10
10.0
*
3
30.0
+
4
34.0
/
4
8.5
-
0.5
8.0
=
以下の(1)-(4)の部分を埋めてプログラムを完成させなさい.
// 学生証番号: XXXXXXX
// 名前: XXXXXX
//
import java.io.*; // 入力に関するクラスを使う時は必要
class Calc{
// 1行入力して実数に変換するメソッド
// throws IOException で内部で入出力エラーが起きる可能性があることを示す
static double getNumber(BufferedReader d) throws IOException{
// 1行入力して,実数に変換
String s=d.readLine();
double val;
// sを実数に変換してvalに代入
(1) ;
return val;
}
// throws IOException で内部で入出力エラーが起きる可能性があることを示す
public static void main(String[] args) throws IOException{
// 入力をするためには,System.inからBufferedReaderを作る
BufferedReader d=new BufferedReader(new InputStreamReader(System.in));
double num=getNumber(d);
for(;;){
System.out.println(num);
String s=d.readLine();
// "="だけの行が入力されたら終了
if(s.equals("="))
(2) ;
// 数を入力
double num1=getNumber(d);
if(s.equals("+")){
// numにnum1を足す
num=num+num1;
}
else if(s.equals("-")){
// numからnum1を引く
(3) ;
}
else if(s.equals("*")){
// numにnum1をかける
num=num*num1;
}
else if( (4) ){
// numをnum1で割る
num=num/num1;
}
}
}
}