从String转换为多项式

时间:2012-01-05 15:48:18

标签: java polynomial-math

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

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

此处的多项式为2 - 7 x + 8 x^2 - x^4

但这是抓住了。我不能使用解析将字符串中的每个数字拆分成单独的整数,这太简单了!因为String中可以包含任意数量的数字,所以此示例有5个数字,另一个可能有6个或更少。

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

5 个答案:

答案 0 :(得分:2)

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

这个正则表达式还会处理额外的空格。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

  

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

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

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

答案 3 :(得分:1)

如果您无法使用String.split()Integer.parseInt(),那么:

  • 创建一个Polynomial类,在其构造函数中使用String参数

和(

  • 使用getNumberindexOf返回字符串部分的substring方法
  • 一个getCount方法,用于计算字符串
  • 中的逗号

答案 4 :(得分:1)

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

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

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