gpt4 book ai didi

java - 返回传递的字符串的 double 值

转载 作者:太空宇宙 更新时间:2023-11-04 07:06:23 25 4
gpt4 key购买 nike

创建一个名为 parseEqn 的方法,它将接收 1 个字符串变量并返回传递给它的表达式的 double 值。

parseEqn("123+23") → 146.0
parseEqn("3+5") → 8.0
parseEqn("3-5") → -2.0

这是我到目前为止所拥有的:

public double parseEqn(String str) {
StringTokenizer st = new StringTokenizer(str,"+-/*%",true);
String first = st.nextToken();
String op = st.nextToken();
String second = st.nextToken();

double ff = Double.parseDouble(first);
double ss = Double.parseDouble(second);

double answer;

if (op.equals("+")){
answer= ff+ss;}
else if (op.equals("-")){
answer= ff-ss;}
else if (op.equals("/")){
answer= ff/ss;}
else (op.equals("*")){
answer= ff*ss;}

return answer;
  1. 我不断收到错误语法错误,插入“AssignmentOperator ArrayInitializer”以完成 ArrayInitializerAssignement...这是什么意思?

  2. 我需要对循环执行什么操作才能使其正常工作?我可以手动输入 ff+ss ,该方法将正常工作,但我似乎无法创建一个循环来检查字符串中的哪个运算符,然后将答案传回。

注意:我时间紧迫,非常感谢您的帮助。一个直接的答案/解释会非常有帮助...而不是那些 super 模糊的“哦,这不难...”之类的事情...

最佳答案

只需稍加修改即可正常工作。

检查最后的条件。

else if(op.equals("*")){answer= ff*ss;}

并将双重答案初始化为0。

以防万一检查

import java.util.StringTokenizer;
public class Car {
public double parseEqn(String str) {
StringTokenizer st = new StringTokenizer(str,"+-/*%",true);
String first = st.nextToken();
String op = st.nextToken();
String second = st.nextToken();
double ff = Double.parseDouble(first);
double ss = Double.parseDouble(second);
double answer = 0;
if (op.equals("+")){
answer= ff+ss;}
else if (op.equals("-")){
answer= ff-ss;}
else if (op.equals("/")){
answer= ff/ss;}
else if(op.equals("*")){
answer= ff*ss;}
return answer;
}
public static void main(String args[]) {
Car c = new Car();
System.out.println(c.parseEqn("123+23"));
System.out.println(c.parseEqn("3+5"));
System.out.println(c.parseEqn("3-5"));
/* Output From Console
*
* 146.0
8.0
-2.0*/
}
}

关于java - 返回传递的字符串的 double 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21310175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com