以下のコードは、Calculatorの実際のコードのチャンクです。ユーザーが電卓の数字を押してから、「+」を押すとテキストフィールドの数字が保存され、次の数字が押されて"="を押したときに格納されます。次に、 "="では加算関数が実行されます。加算と減算の両方を同時に実行したい場合は、加算後にユーザーが減算をしたいのですがどうすればいいですか? ???Javaの異なる電卓の基本機能の問題?
答えて
について:入力として負の数を受け入れてから追加しますか?または私はポイントを逃している?
もしそうでなければ、RPNを使うと "="は必要なくなります。 2つの数字を入力すると、 "+"または " - "は2つのオペランドをスタックから取り出し、演算子を適用し、結果をスタックに戻して表示します。
第三の方法:「 - 」代わりのためのあなたのコードの使用:
if(a.getActionCommand().equals("-"))
{
b=tf.getText();
x=-(Integer.parseInt(b));
}
ない私はその最後の提案に考慮にすべてを撮影した場合は必ず、それがスタートです。
いいえこのようにはありません:/ – Salar
電卓は、通常、+
または-
のようなアクションを処理するたびに=
の操作を実行します。試してみて、コンピュータでcalcアプリケーションを開き、3 + 5 - 1
を試してみてください。 -
を押すと、ディスプレイに8
と表示されます。あなたはあなたと同じことをすることができ、好きなだけ多くの+
と-
操作を連続して扱うことができます。あなたが投稿したコードにはいくつかのリファクタリングがありますが、あなたがそこで行うことができるのは、=
操作のために使用するプロセスをメソッド化することです。その後、それぞれ+
または-
ブロックの先頭にあるperformEquals
と呼ぶことができます。
jcomeau_ictxのようなスタックベースのアルゴリズムは、問題に対する非常に実行可能な解決策です。
演算子(+、 - 、*、/)を保持するものと、オペランド(番号0-9の集合)を保持するものの2つのスタックを作成します。
ユーザープレスサポートしています:3 + 4から5
Steps:
1.) Push '3' into the operand stack
2.) Push '+' into the operator stack
3.) Push '4' into the operand stack.
Since there are at least 2 operands, calculate 3 + 4 (which is 7).
4.) Pop 3 and 4. Add these two and pop them to the operand stack
5.) Pop + from the operator stack and push -.
6.) Push 5 onto the stack. Subtract these two and place result in operand stack.
一般的なアルゴリズムを:
Push operand (or operator) into the stack
if (operands > 2 && operator > 0)
pop both operands and one operator;
calculate result;
place result in operand stack;
reset operator stack;
私はあなたが4つの演算(+、 - 、×、÷)があると仮定し、それをが操作順序を実装していない基本的なデスクトップ電卓を実装しています。この場合、jcomeau_ictx'sx=-(Integer.parseInt(b))
は、乗算と除算ではなく、減算しか処理できず、これらのスタックベースの解決策は過剰です。
あなたは3つの変数:firstNumber
,operation
およびsecondNumber
です。 operation
は空になります(または「空」を示す値を使用します)。ユーザーが=ヒットしたら、ディスプレイから番号を取り出してsecondNumber
に入れます。次に、3つの変数すべてを見て、operation
変数に示された値を実行します。
+、 - 、×、または÷を打つと、まず=操作を実行します(secondNumber
にユーザーの入力を入れ、operation
で示される操作を実行します)。結果をfirstNumber
に入れてください(望むなら、それを画面に表示してください)。 operation
変数にユーザーがヒットした操作(+、 - 、×、または÷)を保存して、次回にの操作を実行できるようにします。 +、 - 、×、÷または=をヒットします。
- 1. Javaの基本的な電卓
- 2. RMI電卓の問題(JAVA)
- 3. 基本的な電卓ヘルプJava
- 4. strconv.Atoi(基本電卓)
- 5. バイソンの文法の基本的な電卓の問題のため
- 6. ユーザーフレンドリーな基本的な電卓の作成Java
- 7. 電卓の問題
- 8. ループ:whileとswitchの基本的な電卓java
- 9. シンプルな基本的な電卓Javafx
- 10. 車の電卓の問題
- 11. 電卓プロジェクトの問題
- 12. ヒント電卓アプリの問題
- 13. 電卓の問題 - Androidプログラミング
- 14. 高度な電卓のJavaスクリプトの問題
- 15. 基本的な電卓/将来の温度コンバータ/将来の科学計算機
- 16. 電卓でのスクリプトの問題のアドバイス
- 17. plmortgage電卓のGUIロットでの問題
- 18. 電卓の最終出力の問題
- 19. 基本的な電卓は、Androidのエラーでメイン
- 20. アンドロイドの異なる言語の電卓
- 21. AWS電卓のSave&Share機能
- 22. 別のクラスのメソッドを正しく使うには? (基本電卓)(Java)
- 23. HTML&Javascriptで基本的な電卓を実装する方法
- 24. 基本的な電卓を作成するには?
- 25. BMI電卓のJava
- 26. 基本的な電卓で連鎖していますか?
- 27. なぜこの基本的なGPA電卓がKeyErrorを返すのですか?
- 28. C++の基本的なコーディングの問題
- 29. hoverIntent基本的な問題?
- 30. のSharePoint:機能の基本
はこの宿題ですか? – st0le
基本的には、私は試験の前に私のGUIコースを練習できるように、javaで電卓を作ることを考えていました。 – Salar