我想用单个文本字段制作计算器,你能帮忙吗?
例如,我将添加" 2 + 2 * 5"它会给出结果。
我想用Java制作它,我写了一段代码,但我不知道如何让它工作
public class Calculator {
public static void main(String[] args) {
Scanner my_scanner = new Scanner(System.in);
String input;
String[] splitArray = null ;
String[] stringArray = null ;
String regex = "[0-9]+";
String opr;
int [] Cast = null;
String number;
int Answer;
System.out.println("Enter your equation");
input = my_scanner.nextLine();
splitArray = input.split("\\s+");
for(int i=0;i<splitArray.length;i++){
if(splitArray.toString().matches(regex)){
stringArray[i] = Character.toString(splitArray.toString().charAt(i));
} else {
opr = Character.toString(splitArray.toString().charAt(i));
number = stringArray[i].toString();
Cast[i] = Integer.parseInt(number);
if(Cast.length == 2){
Arrays.fill( Cast, (Integer) null );
}
switch(opr){
case "+":
Answer = Cast[1] + Cast[2];
}
}
}
}
}
答案 0 :(得分:0)
问题很简单,例如输入:2 + 2,你调用split数组函数,但是返回的值是字符串本身,长度为1(不是字符)=(“2 + 2”)。转换为字符数组。
String[] result = input.toCharArray();
然后你现在可以循环每个索引。 int len = result.length;
例如,0 = 2,1 = +,2 = 2
有意义吗?