前提・実現したいこと
初心者です。
方程式を標準入力から入力し、その結果を算出するプログラム課題を作成中です。
1 + 3 = x と標準入力したら4と出力し、3 + x = 6 と標準入力したら3と出力するプログラムが作りたいです。
とりあえずは式中に存在するxの数は一つで、基本的な四則演算の結果を返してくれるものが作りたいです。
つたない文章で申し訳ないのですが、ご教授よろしくお願いいたします。
発生している問題・エラーメッセージ
そもそものアルゴリズムが組み立てられない。
該当のソースコード
Java
1思考中
試したこと
nextLineで取得した値をsplit(" ")で分割し、+や-が来た時に条件式で計算式を挿入するのかな~ぐらいしかわからなかった。
補足情報(FW/ツールのバージョンなど)
JDK8
で、しつもんはなんでしょうか
・あなたが等式と思うものと、等式でないと思うものを定義してください。
変数は1つですか2つですか?変数なしは?等号は必要?
・あなたが定義した式を解くとはどういうことですか?
「等式変形」することですか?どうしたいですか?
x = …… の形に直すと計算できますね。左辺が二項で右辺が一項と決まっているなら x の位置によって 3 パターンの変形を用意すれば良いでしょう。決まってないなら構文解析が必要になるので恐らくあなたの手に余ります。あきらめてもっと簡単な問題にとりかかりましょう。
四則演算と言っていますが、足し算と引き算だけなんですよね。括弧はあるんですか?
例えば、3 - (x - 4) = 5 - 7 はどうですか?
- は 2項演算子だけですか? それとも単項演算子の - もあって、-3 + 7 = -x - 8 もありますか?
あるいは、単項演算子の - は許さず -x はないが、-3 は一つの数とみなして許すとか。
とにかく、等式の定義を明確にしてください。
回答2件
あなたの回答
tips
プレビュー