java - 将一个字符串添加到另一个字符串,转换为 double 或 char,然后计算结果

标签 java

基本上,我想制作一个简单的计算器

我想从键盘输入一个字符串,所以如果它是数字或“.”它将把它添加到字符串中,如果它是一个 char(+-*/) 它将进行计算。

所以你首先输入3

然后输入 4,这将使字符串变为 34,然后将其转换为 double 型,然后执行 + 然后输入 3,然后输入 3。然后是 34,所以字符串是 3.34 然后你按 =,它就会给出答案。 我已读入值 那么

string newstring = value;
if (value.equals("0") |value.equals("1") etc
in = in + newstring;
}

然后

try 
{
setOperand(convert in to double)
if (flag == 1)
{
operand1 = convert in to double
result = operand1
flag = 0;
}// only does it for the first operand

getresult() which is if + then result + getOperand
catch
try 
changes to char

出于某种原因,当我只执行 3= 结果 = 0 时,或者 3 然后。然后2等

最佳答案

我可以提个建议吗?在一行中获取要计算的整个字符串,然后解析该行。

import java.util.Scanner;
public class AshanCalc {

    public static void main(String[] args) {
        System.out.println("Welcome to my calculator. Please enter a math equation:");

        Scanner in = new Scanner(System.in);
        String equation = in.nextLine(); // get the ENTIRE line from the keyboard
                                         // not just one character at a time

        double result = evaluateEquation(equation);

    }

    private static double evaluateEquation(String equation) {
        /**
         * your mission - fill this in
         */
    }
}

关于java - 将一个字符串添加到另一个字符串,转换为 double 或 char,然后计算结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5475829/

相关文章:

java - 在Karaf中,有什么方法可以控制kar文件加载的顺序吗?关于跨kar文件依赖

java - synchronized方法修改后所有java线程都会看到共享资源更新吗?

java - Java 8 HotSpot VM 中任何 String 对象构造的通知

java - PL/SQL - 仅当记录不存在时插入记录

java - Jetbrains Fleet 如何附加调试器

java - new String() 和普通 String 是如何创建的? java中的字符串类(混淆)

java - Java swing 应用程序 Action 监听器中的异常

java - 将数字添加到字符串中?

java - [JavaFx]这个绑定(bind)有什么问题?

java - 如何解决Spring Data JPA中的N+1问题?