【发布时间】:2013-12-09 14:39:37
【问题描述】:
如果我将等式7 + 13 = 20 作为字符串,我将如何将运算符符号 + 排除在等式之外?
String operator = fileContent.substring(fileContent.indexOf('+'));
我尝试了一些类似的方法,并更改了其中的一些内容,但我无法让操作员退出。我只能让它返回 + 13 = 20 或 13 = 20 之类的东西,但不能单独返回操作员。
我不能为此使用正则表达式、try/catch、数组或 SystemTokenizer。
此外,数字之间并不总是有空格,它们的大小也不总是只有一位或两位数。
最后一件事。我还需要它,以便如果将运算符放入 problem = (firstNumber + operator + secondNumber) 之类的东西中,它实际上可以计算数学。
预期的输出,或者至少我想要做的,是让它接受第一个和第二个数字,并读取运算符,以便它可以对问题进行数学运算。它真的很混乱,我很抱歉。
int first = Integer.parseInt(fileContent.substring(0, fileContent.indexOf(" ")));
int second = secondNumber(result, fileContent);
int last = Integer.parseInt(result.substring(result.indexOf("=") + 1));
这是我必须获取第一个、第二个和答案数字的代码,但我需要以一种可以将其放在第一个和第二个数字之间的方式取出运算符符号,以便它真正执行数学,所以我可以对照答案编号检查它。
它的作业将充当“数学问题评分者”,但没有一个运算符是相同的。
我需要它以7 and 13 并打印20 作为答案。
【问题讨论】:
-
这是什么愚蠢的要求?使用两个子字符串。一个用于
+之前,一个用于+之后。连接这些字符串。 -
为什么不能使用正则表达式、try/catch、数组或 SystemTokenizer?无论您的讲师在最后几节课中教给您什么,都可能是您应该使用的。另外,你真的应该发布代码来表明你已经尝试过。
-
请显示预期的输出是什么。
-
我仍然对你想要什么感到困惑。 “我需要它取 7 和 13 并打印 20 作为答案”,这是什么意思?字符串是否将是 = "7 13" 并且您希望它输出 "20"?
-
我需要它来读取 7 和 13,然后读取运算符是什么,并像普通数学问题一样打印出答案。比如 7 + 13 并打印 20,或 2 * 3 并打印 6
标签: java eclipse string math operators