javaを使用して、電卓プログラムを作成しています。
以下がソースコードです。一応コンパイルと実行は出来る状態となっています。
一連の流れと質問内容はコード記載の後に説明します。
流れとしては、初期表示が
現在の値:0
演算子:
入力された値:
数値を入力して下さい>>
数字を入力すると、
現在の値:111
演算子:
入力された値:
演算子を入力して下さい>>
演算子を入力すると、
現在の値:111
演算子:+
入力された値:
数値又は演算子を入力して下さい>>
ここで- * /を入力すると、既に入力されている演算子を書き換えます。
=入力はエラーメッセージ表示です。
現在の値:111
演算子:+
入力された値:222
演算子を入力して下さい>>
数字→演算子→数字の順で入力すると、演算子(+ - * / =)で数字の計算を行います。
①「=」入力の場合
現在の値:333
演算子:
入力された値:
演算子を入力して下さい>>
②「-」いずれかの演算子入力の場合
現在の値:333
演算子:-
入力された値:
数値又は演算子を入力して下さい
となります。尚、数字→演算子(/)→0と入力すると、
0で割り切れない、というエラーメッセージを表示します。
このように、数字が演算子(+ - * / =)をそれぞれif文で判断し、msgを"演算子"・"数値又は演算子"・"数値"と書き換え、msgに代入されているメッセージで更に判断しながら計算していく、という流れになります。
演算子と数字以外の入力受付としては、
cで初期状態へ。
ceで「現在の値・「演算子」・「数値」の順番でクリアしていきます。
その際、msgも随時書き換えていきます。
eでプログラムを終了します。
「何桁でも計算出来る電卓」という仕様なので、int型は使えません。
最初のimportにある、BigDecimalを使用しようと思っています。
質問なのですが、まずは入力された値が「数字か演算子か」を判断しなければならないので、isNumber若しくは上記コードにあるisNumericメソッド(クラスや実行メソッドは適当です)で判断しようと思っているのですが、ネットを探してみても、どうにも単品で使用する事は出来ず、クラスと実装メソッドを作らなければならない、という感じだと思うのですが・・・・
どなたか教えていただけないでしょうか。よろしくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/01/03 03:29
2015/01/03 05:57