「+」、「-」、「*」、または「/」のいずれかに遭遇するまで、スキャナーを使用して入力 (数値) を読み取りたいと考えています。これらの演算子は入力を終了し、それぞれの演算子の前の値を変数に格納する必要があります。
演算子を区切り記号として使用してこれを行うことを考えています。私は正しい軌道に乗っていますか、それともこれを行うためのより良い方法はありますか?
ニック
「+」、「-」、「*」、または「/」のいずれかに遭遇するまで、スキャナーを使用して入力 (数値) を読み取りたいと考えています。これらの演算子は入力を終了し、それぞれの演算子の前の値を変数に格納する必要があります。
演算子を区切り記号として使用してこれを行うことを考えています。私は正しい軌道に乗っていますか、それともこれを行うためのより良い方法はありますか?
ニック
String.split( )
ここでおそらくあなたの最善の策です。
しかし、注意してください!引数として正規表現String.split()
を取ります。とは正規表現で特別な意味を持つメタ文字であるため、エスケープする必要があります。+
*
正規表現は、またはまたはまたは"-|\\+|\\*|/"
の出現で文字列を分割します。-
+
*
/
このコード例は、次のように出力する必要があります。[20, 30, 40]
String test = "20+30*40";
String[] tokens = split( "-|\\+|\\*|/" );
System.out.println( Arrays.toString( tokens ) )
あなたは正しい軌道に乗っています。
String.split() 関数を使用して、文字列を +、-、または / で分割できます。
最終的には
String[] allStrings = String.split("+|-|/");
これらの区切り文字のいずれかで分割された文字列の配列が得られます。
さらにサポートが必要な場合は、コードを投稿してください。
良い一日を過ごしてください