2012-04-10 12 views
2

'+'、 ' - '、 '*'、または '/'のいずれかが見つかるまでスキャナ(入力)を読み取ってください。これらの演算子は入力を終了し、それぞれの演算子が変数に格納される前の値を指定する必要があります。Java - 複数のデリミタを持つスキャナ

私は区切り記号として演算子を使用してこれを行うことを考えています。正しい軌道にいるのですか、これを行うにはより良い方法がありますか?

ニック

答えて

1


あなたは正しい軌道に乗っています。

String.split()関数を使用して、文字列を+、 - 、または/のいずれかで分割できます。あなたはこれらの区切り文字のいずれかによって分割された文字列の配列を与える

String[] allStrings = String.split("+|-|/"); 

になってしまうでしょう

さらに詳しいヘルプが必要な場合は、コードを送信してください。

2

String.split()は、おそらくここにあなたの最善の策である良い一日を。

しかし、注意してください! String.split()は引数としてRegular Expressionをとります。 +*は正規表現で特殊な意味を持つメタ文字なので、エスケープする必要があります。

正規表現"-|\\+|\\*|/"-または+または*または/の出現で、あなたの文字列を分割します。

この例のコードは、次のように印刷する必要があります:[20, 30, 40]

String test = "20+30*40"; 

String[] tokens = split("-|\\+|\\*|/"); 

System.out.println(Arrays.toString(tokens)) 
+0

@Kevin ulmangt @ありがとう、君たちは素晴らしいです。 – Nik

+0

@ケビン私たちが助けてうれしい!あなたの質問に答えられたなら、あなたに最も役立つ答えを[受け入れる]ことを忘れないでください(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。 – ulmangt

関連する問題