2017-07-25 11 views
1

文字列を入力としたいJavaプログラムを作りたいと思います。文字列には2つの整数があり、処理は実行されます。例えば、 。 25 + 85 または15 * 78文字を分割する際に文字列を分割する方法は、動的か不明ですか?

出力は文字列の解になります。

しかし、実行前に演算子の記号がわからないため、文字列を分割する方法がわかりません。

+0

https://stackoverflow.com/questions/7138038/commandline-java-calculator –

+2

Splitは正規表現を使用しているので、単に 'input.split(" [* * \\ - \\ /] ")'は4つの基本操作。 – Michael

+0

なぜあなたはそれのためのjavascriptソリューションを使用していない、Javaはその中にjavascriptを持っている、あなたは数学的操作の文字列を評価するために、次のコードを使用することができます。 ---------- 'ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngineエンジン= manager.getEngineByName( "js"); Object result = engine.eval( "4 * 5"); ' – Muhammad

答えて

0

String.contains("+");を使用して、使用している操作を確認し、サポートしたい他のすべての演算子をチェックするとよいでしょう。次に、その演算子がどこにでも分割されます。String.split("+")。そこからString.split("+")の出力をInteger.parseInt(String s)を使用して解析し、合計を返します。かなり簡単、幸運。

0

あなたは数字以外の文字で入力を分割するためにStringクラスのsplit()メソッドを使用することができます。

input.split("\\D"); 

これはあなただけの数字を含む配列を与えるだろう。 私はオペレータを何とかしたいと思いますか?最もエレガントな方法ではありませんが、input.replaceAll("[^\\*\\+\\-\\/]", "")から始めて、演算子ではないものをすべて削除することができますが、入力フィルタリングは慎重に行う必要があります。私が入力するとどうなります5+4*6 oder 2+hello

関連する問題