1

多項式を使用するプログラムを Java で作成しています。ユーザーが入力した内容に基づいて多項式を表現できる必要があります。

たとえば、ユーザーは次の文字列を入力できます。" 2, -7, 8, 0, -1"

ここでの多項式は次のようになります。2 - 7 x + 8 x^2 - x^4

しかし、ここに問題があります。解析を使用して、文字列内の各数値を個別の int に分割することはできません。これは簡単すぎます。String には任意の数の数値を含めることができるため、この例では 5 つの数値を使用しています。

Java 内で多項式を表現する方法についてのアイデアはありますか?

4

5 に答える 5

2
String[] split = values.split(",\\s*");

この正規表現は、追加のスペースも処理します。

于 2012-01-05T15:53:03.440 に答える
1

使用できない場合はString.split()、次のようにしますInteger.parseInt()

  • コンストラクタで引数Polynomialをとるクラスを作るString

と (

  • andgetNumberを使用して文字列部分を返すメソッドindexOfsubstring
  • 文字列内のgetCountコンマを数えるメソッド

また

  • java.lang.Iterableインターフェースを実装し、Iterator実装で上記の手法を使用します

)

于 2012-01-05T16:01:11.383 に答える
1

String.split()を使用して、Integer.valueOf() 呼び出しのループを実行する必要があります。

于 2012-01-05T15:49:33.847 に答える
1

コンポーネントの数を知らなくても、を使用して文字列を分割できます。String.split()適切な数のコンポーネントが割り当てられます。

int[]次に、多項式を表す型の配列に変換します...

ここでは特に難しいことは何もありません。すべてが簡単です。

于 2012-01-06T14:27:44.897 に答える
1

Java内で多項式を表現する方法についてのアイデアはありますか?

私の見解では、最も簡単なのはint(またはfloat/ double) 係数の配列を持つことです。配列内の要素の数は、多項式の次数によって異なります。

これをクラスにラップし、String.split()with Integer.valueOf()(またはDouble.valueOf()/ Float.valueOf()) を使用して から構築しStringます。

于 2012-01-05T15:52:49.723 に答える