Math 不产生任何结果的数学条件语句。

Math 不产生任何结果的数学条件语句。,math,conditional,statements,Math,Conditional,Statements,导入java.util.Scanner 公共课数学乐趣{ 公共静态void main(字符串[]args){ } 这是可以编译的,但我在初始化pos=expr.inexOf();;时遇到了困难。我该如何操作才能使if语句开始工作并能够处理字符串?非常感谢您的帮助!问题在于int pos=expr.indexOf(“-”); 我确信如果你输入“25-20”,它会工作。 你必须先运行一个循环来找到正确的操作符 Scanner input = new Scanner(System.in);

导入java.util.Scanner

公共课数学乐趣{ 公共静态void main(字符串[]args){

}
这是可以编译的,但我在初始化pos=expr.inexOf();;时遇到了困难。我该如何操作才能使if语句开始工作并能够处理字符串?非常感谢您的帮助!

问题在于int pos=expr.indexOf(“-”); 我确信如果你输入“25-20”,它会工作。 你必须先运行一个循环来找到正确的操作符

    Scanner input = new Scanner(System.in);

    int x = 1;

    System.out.println(" Enter a math operation: ");
    String expr = input.next();

    int pos = expr.indexOf("-");

    if ( pos > 0) {
        if (pos == expr.indexOf("+")) {
        int op1 = Integer.parseInt(expr.substring(0, pos));
        int op2 = Integer.parseInt(expr.substring( pos + x , expr.length()));
        System.out.println( op1 + op2);
        } else 
        if (pos == expr.indexOf("-")) {
        int op1 = Integer.parseInt(expr.substring(0, pos));
        int op2 = Integer.parseInt(expr.substring( pos + x , expr.length()));
        System.out.println( op1 - op2);
        } else
        if (pos == expr.indexOf("/")) {
        int op1 = Integer.parseInt(expr.substring(0, pos));
        int op2 = Integer.parseInt(expr.substring( pos + x , expr.length()));
        System.out.println( op1 / op2); 
        } else 
        if (pos == expr.indexOf("%")) {
        int op1 = Integer.parseInt(expr.substring(0, pos));
        int op2 = Integer.parseInt(expr.substring( pos + x , expr.length()));
        System.out.println( op1 % op2);
        } 
        else {
        System.out.println(" Invalid operation ");
            }
        }       
}