标题不言自明。我正在尝试创建一个计算器,它使用基本的编码来集成多项式函数,而不仅仅是用一个数学运算符来为我做:)。我还没走多远,直到我碰到一堵墙,因为我找不到一种方法:在原始字符串中创建一个数字的子字符串,直到到达一个非数字字符。i、 如果字符串是123x,我想创建一个123的子字符串,没有“x”。以下是我目前掌握的情况:
public static void indefinite()
{
int x = 0;
System.out.print("Enter your function to integrate:\n F ");
Scanner input = new Scanner(System.in);
String function = input.nextLine();
String s1 = "";
for (int i = 0; i < function.length(); i++)
{
s1 = s1 + function.substring(x, i+1);
x = i+1;
}
}
这看起来有点荒谬,但基本上,如果字符串'function'是32x^4,我希望子字符串是32。剩下的我自己想办法,但这部分我似乎做不到。
p、 我知道for循环的repeation变量是错误的,如果我看到的函数不止是2x^3,那么它不应该重复到字符串的末尾。我还没想办法弄清楚,所以我只确定它只演了一部分。
2条答案
按热度按时间tv6aics11#
使用
replaceAll()
要“提取”它:这会将第一个非数字和它后面的所有内容都替换为零(有效地删除它),只留下数字。
也可以直接转到数值原语,而不必使用
String
变量,如果您(像我一样)希望代码更少:7uhlpewt2#
您可以在字母数字标记处拆分字符串,如下所示:
例如,“123x54y7z”将返回
[123, x, 54, y, 7, z]