字符串中有个题目是4-3+6如何计算出答案
发布网友
发布时间:2022-04-25 15:50
我来回答
共3个回答
热心网友
时间:2023-07-12 05:02
你好,我遍了一个程序,实现了你要求的结果。你可以参考一下。
import java.util.Arrays;
public class Operator {
public static void main(String[] args) {
String str = "4-3+6" ;
String[] nums = str.split("\\W+") ;
String[] opts = str.split("\\d+") ;
System.out.println(Arrays.toString(nums));
System.out.println(Arrays.toString(opts));
int result = 0 ;
int[] n = new int[nums.length] ;
for(int i=0;i<nums.length;i++){
n[i] = Integer.parseInt(nums[i]) ;
}
for(int i=0;i<opts.length;i++){
if(opts[i].equals("")){
result += n[i] ;
continue ;
}
if(opts[i].equals("-")){
result -= n[i] ;
}else if(opts[i].equals("+")){
result += n[i] ;
}
}
System.out.println(result);
}
}
热心网友
时间:2023-07-12 05:02
说详细一点,具体是要实现什么功能之类的。追问就是把这道题的答案计算出来,就是字符串操作
热心网友
时间:2023-07-12 05:03
#perl
$str = "4-3+6";
eval($str);追问是从前台文本框内获取的题目,到后台计算出正确答案再插入数据库中,就是怎么从字符串中知道是做什么运算并得到正确答案?
追答Perl 我上边给你写了,用 eval(): Java 的我还真不知道...但我可以给你个思路:
String.split(/\W+/); // [4, 3, 6]
String.split(/[\\d\\s]+/); // [ -, +]
然后 ....