我想从键盘输入字符串,所以如果它是一个数字或'。'它会将它添加到String中,如果它是一个char(+ - * /),它将进行计算。
所以你先输入3
然后是4,它将使字符串34,然后将其转换为double然后执行+然后输入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等
答案 0 :(得分:1)
我可以提出建议吗?获取整个String以在一行中计算,然后解析该行。
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
*/
}
}
答案 1 :(得分:0)
也可以使用char的isDigit()方法而不是if(value.equals(“0)|| value.equals(”1“)等。