1

我正在用 Java 编写一个将使用多项式的程序。我需要能够根据用户输入的内容来表达多项式。

例如,用户可能输入以下字符串。" 2, -7, 8, 0, -1"

这里的多项式是2 - 7 x + 8 x^2 - x^4

但这就是问题所在。我不能使用解析将字符串中的每个数字拆分为单独的整数,这太容易了!因为字符串中可以有任意数量的数字,所以这个例子有 5 个数字,另一个可能有 6 个,或者更少。

关于如何在 Java 中表达多项式的任何想法?

4

5 回答 5

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

此正则表达式还将处理额外的空间。

于 2012-01-05T15:53:03.440 回答
1

可以String.split()在不知道组件数量的情况下使用拆分字符串。它将为您分配适当数量的组件。

然后将其转换为代表多项式的类型数组int[]...

这里没有什么特别困难的,一切都很简单。

于 2012-01-06T14:27:44.897 回答
1

您应该使用String.split()并通过 Integer.valueOf() 调用循环运行它。

于 2012-01-05T15:49:33.847 回答
1

如果你不能使用String.split()然后Integer.parseInt()

  • 创建一个在其构造函数中Polynomial接受参数的类String

和 (

  • 一种getNumber使用indexOfsubstring返回字符串部分的方法
  • 一种getCount计算字符串中逗号的方法

或者

)

于 2012-01-05T16:01:11.383 回答
1

关于如何在 java 中表达多项式的任何想法?

在我看来,最简单的方法是拥有一组int(或float/ double)系数。数组中元素的数量将取决于多项式的次数。

我会将它包装在一个类中并使用String.split()with Integer.valueOf()(或Double.valueOf()/ Float.valueOf())从String.

于 2012-01-05T15:52:49.723 回答