数学条件语句没有任何结果。

时间:2013-10-10 01:36:10

标签: math conditional statements

import java.util.Scanner;

公共类MathFun {     public static void main(String [] args){

    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 ");
            }
        }       
}

} 编译,但我很难初始化pos = expr.inexOf();.我将如何解决这个问题,以便我的if语句开始工作并能够使用字符串?非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

问题在于int pos = expr.indexOf(“ - ”); 我相信如果你把输入作为“25-20”它会起作用。 U必须首先运行循环才能找到正确的运算符。