入力が「/
」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. 特殊文字を含むスマートURLを作成するにはどうすればよいですか?
- 2. OpenSearchServer/Luceneで(#)のような特殊文字を処理するにはどうすればよいですか?
- 3. 文字列の中の特殊文字と特殊記号を特定するにはどうすればよいですか?
- 4. MySQLで特殊文字をエスケープするにはどうすればよいですか?たとえば
- 5. TextViewに特殊文字(–など)を表示するにはどうすればよいですか?
- 6. PerlでXMLの特殊文字をエスケープ解除するにはどうすればよいですか?
- 7. テキストボックスで特殊文字を無効にするにはどうすればよいですか?
- 8. コマンドラインで特殊文字を含む行を削除するにはどうすればよいですか?
- 9. アンドロイドのXMLフィードから特殊文字を削除するにはどうすればよいですか?
- 10. Perl正規表現で特殊文字を処理するにはどうすればよいですか?
- 11. SQL Serverで特殊文字をサポートするにはどうすればよいですか?
- 12. SendKeys経由で特殊文字を送信するにはどうすればよいですか?
- 13. javascriptで特殊文字をregexに置き換えるにはどうすればよいですか?
- 14. EXTJS、どのように特殊文字をエスケープするには?
- 15. 特殊フォーマット文字列をテキストに変換するにはどうすればよいですか?
- 16. 特殊文字\ u0097をNsStringに変換するにはどうすればよいですか?
- 17. Advantage SQLデータベースに特殊文字を挿入するにはどうすればよいですか?
- 18. 文字列内の文字、数字、特殊文字を確認するにはどうすればよいですか?
- 19. ファイルから特殊文字を読み取るにはどうすればよいですか?
- 20. oDataクエリで特殊文字はどのように処理されますか?
- 21. HttpServerでJavaの特殊文字が認識されるようにするにはどうすればよいですか?
- 22. スウィフトで循環サークルのif文を作成するにはどうすればよいですか?
- 23. 特定の文字の後に文字列を切り取るにはどうすればよいですか?
- 24. パンダのデータフレームの特殊文字を置き換えるにはどうすればいいですか?
- 25. 文字列をJavaでどのようにコピーすればよいですか?
- 26. これをより効率的にするにはどうすればよいですか? - JavaのIF文
- 27. Java文字列のUnicode文字を検出するにはどうすればよいですか?
- 28. javascript特殊文字で構成された文字列を置換する
- 29. グロブパターンはどのような特殊文字で処理できますか?
- 30. JavaでXMLを生成するときに特殊文字をエスケープする
これまでに何を試していますか?参照:http://stackoverflow.com/questions/7828232 –
[単純なJavaの再帰的な下降構文解析ライブラリとプレースホルダの併用](http://stackoverflow.com/questions/7828232/simple-java-recursive-descent-parsing -library-with-placeholders) –