我正在用 Java 编写一个将使用多项式的程序。我需要能够根据用户输入的内容来表达多项式。
例如,用户可能输入以下字符串。" 2, -7, 8, 0, -1
"
这里的多项式是2 - 7 x + 8 x^2 - x^4
但这就是问题所在。我不能使用解析将字符串中的每个数字拆分为单独的整数,这太容易了!因为字符串中可以有任意数量的数字,所以这个例子有 5 个数字,另一个可能有 6 个,或者更少。
关于如何在 Java 中表达多项式的任何想法?
我正在用 Java 编写一个将使用多项式的程序。我需要能够根据用户输入的内容来表达多项式。
例如,用户可能输入以下字符串。" 2, -7, 8, 0, -1
"
这里的多项式是2 - 7 x + 8 x^2 - x^4
但这就是问题所在。我不能使用解析将字符串中的每个数字拆分为单独的整数,这太容易了!因为字符串中可以有任意数量的数字,所以这个例子有 5 个数字,另一个可能有 6 个,或者更少。
关于如何在 Java 中表达多项式的任何想法?
String[] split = values.split(",\\s*");
此正则表达式还将处理额外的空间。
您可以String.split()
在不知道组件数量的情况下使用拆分字符串。它将为您分配适当数量的组件。
然后将其转换为代表多项式的类型数组int[]
...
这里没有什么特别困难的,一切都很简单。
您应该使用String.split()并通过 Integer.valueOf() 调用循环运行它。
如果你不能使用String.split()
然后Integer.parseInt()
:
Polynomial
接受参数的类String
和 (
getNumber
使用indexOf
和substring
返回字符串部分的方法getCount
计算字符串中逗号的方法或者
Iterator
接口,并在实现中使用上述技术)
关于如何在 java 中表达多项式的任何想法?
在我看来,最简单的方法是拥有一组int
(或float
/ double
)系数。数组中元素的数量将取决于多项式的次数。
我会将它包装在一个类中并使用String.split()
with Integer.valueOf()
(或Double.valueOf()
/ Float.valueOf()
)从String
.