入力が「/
」2桁 を分割し、その上の加算と減算記号のであれば、入力が「*
」乗算2桁、 ある場合、私は何かのように、 を行いたいです。Javaで特殊文字のif文を作成するにはどうすればよいですか?
答えて
if(input.equals("*")) // do multiplication
else if(input.equals("/")) // do division
else if .....
...
のように...
if (input.equals("*")) {
// whatever
} else if (input.equals("/")) {
// whatever
} // etc.
入力が文字の場合は、switch
ステートメントを使用することができます。
switch (input) {
case '*':
// whatever
break; // That's important.
case '/':
// whatever
break;
default:
// handle unexpected input
break;
}
これはハンドラをコマンドへの入力文字/文字列のハッシュがあります、そして、あなたは完全に大きな条件文を避けることができる行動パターンを含め、実装することができる方法のトンがあります。あるいは、実際のパーサーを構築し、パーサーDSLでこの動作を定義することもできます。ここで
@OPまた、Java 7では、switch文 –
@ Eng.Fouad Great pointの引数としてStringを渡すことができます。 –
ことであなたを助けることができる方法:第二の入力が0除算したとき場合
public String calculate(int input1, String operator, int input2) throws RuntimeException{
String result = "";
if(operator.equals("*")) {
result = "" + (input1 * input2);
}
else if(operator.equals("/")) {
try{
result = "" + (input1/input2);
}
catch(DividedByZeroException e) {
e.printStacktrace();
}
}
else if(operator.equals("-")) {
result = "" + (input1 - input2);
}
else if(operator.equals("+")) {
result = "" + (input1 + input2);
}
else {
throw new RuntimeException("Wrong method input!!!!")
}
return result;
}
あなたは例外を取得します(あなたがゼロで割ることができない)ので、あなたは何とかそれを処理する必要があります。
私はオブジェクト指向の方法を行っています。
public interface Operator{
int process(int left, int right);
}
このインターフェースのいくつかの実装を作成し、キーが演算子記号であるマップにそれらを置く:Operator
インタフェース、このような何かを定義します。
public int process(int left, int right, String operator){
return operatorMap.get(operator).process(left, right);
}
(intはあなたのニーズに十分に正確でない場合は、別のタイプを使用)
回答の奇妙な多く:
今すぐあなたの方法でこのような何かをマップを使用しています。試してみてください:
char operator;
switch (operator)
{
case '+':
// ...
break;
case '-':
// ...
break;
case '*':
// ...
break;
case '/':
// ...
break;
// etc
}
- 1. javaで特定の特殊文字を削除するにはどうすればよいですか?
- 2. 特殊文字を含むスマートURLを作成するにはどうすればよいですか?
- 3. viで文字列を特殊文字に置き換えるにはどうすればよいですか?
- 4. テキストボックス内の文字をカウントするif文を作成するにはどうすればよいですか?
- 5. スキャン文字列に特殊文字を含めるにはどうすればよいですか?
- 6. OpenSearchServer/Luceneで(#)のような特殊文字を処理するにはどうすればよいですか?
- 7. 文字列の中の特殊文字と特殊記号を特定するにはどうすればよいですか?
- 8. MySQLで特殊文字をエスケープするにはどうすればよいですか?たとえば
- 9. TextViewに特殊文字(–など)を表示するにはどうすればよいですか?
- 10. JSONで特殊文字を印刷するにはどうすればよいですか?表中の
- 11. PerlでXMLの特殊文字をエスケープ解除するにはどうすればよいですか?
- 12. テキストボックスで特殊文字を無効にするにはどうすればよいですか?
- 13. ノードjsに特殊文字でset urlパラメータを設定するにはどうすればよいですか?
- 14. 文字列に特殊文字が含まれているかどうかを確認するにはどうすればよいですか?
- 15. 特殊文字でマークされた部分文字列を文字列から削除するにはどうすればよいですか?
- 16. コマンドラインで特殊文字を含む行を削除するにはどうすればよいですか?
- 17. アンドロイドのXMLフィードから特殊文字を削除するにはどうすればよいですか?
- 18. 文字列がすでに特殊文字で特殊文字でエスケープされているかどうかを知るには?
- 19. PHPでいくつかの特殊文字をデコードするにはどうすればいいですか?
- 20. jsonエンコードで特殊文字を使用するにはどうすればよいですか?
- 21. Perl正規表現で特殊文字を処理するにはどうすればよいですか?
- 22. SendKeys経由で特殊文字を送信するにはどうすればよいですか?
- 23. SQL Serverで特殊文字をサポートするにはどうすればよいですか?
- 24. AWS Lambdaで特殊文字パラメータを抽出するにはどうすればよいですか?
- 25. javascriptで特殊文字をregexに置き換えるにはどうすればよいですか?
- 26. - 、=などのすべての特殊文字を削除するにはどうすればいいですか?
- 27. 国際アルファベット/特殊文字でBase32暗号化を行うにはどうすればよいですか?
- 28. Identity Core LoginPathの特殊文字を設定するにはどうすればよいですか?
- 29. EXTJS、どのように特殊文字をエスケープするには?
- 30. 特殊文字\ u0097をNsStringに変換するにはどうすればよいですか?
これまでに何を試していますか?参照:http://stackoverflow.com/questions/7828232 –
[単純なJavaの再帰的な下降構文解析ライブラリとプレースホルダの併用](http://stackoverflow.com/questions/7828232/simple-java-recursive-descent-parsing -library-with-placeholders) –