Java输入输出流,麻了

读取txt中的数据来计算,求求解
缺一个识别行末的条件来实现

img

import java.io.File;
import java.util.Scanner;
public class ShiYan4_3 {
    public static void main(String args[]) throws Exception {

        String filename = "D:\\data3.txt";
        Scanner scanner = new Scanner(new File(filename));
        while(scanner.hasNext()) {
            int op1 , op2, op3,i = 1,result = 0;
            String operator = "";
            String operator2 = "";
            String str;
            op1 = scanner.nextInt();
            operator = scanner.next();
            op2 = scanner.nextInt();
            while (scanner.hasNext()) {
                operator2 = scanner.next();
                op3 = scanner.nextInt();
                if (operator.equals("*")) {
                    op1 = op1 * op2;
                    operator = operator2;
                    op2 = op3;
                } else if (operator.equals("/")) {
                    op1 = op1 / op2;
                    operator = operator2;
                    op2 = op3;
                } else if (operator2.equals("*")) {
                    op2 = op2 * op3;
                } else if (operator2.equals("/"))
                    op2 = op2 / op3;
                else if (operator.equals("+")) {
                    op1 = op1 + op2;
                    operator = operator2;
                    op2 = op3;
                } else if (operator.equals("-")) {
                    op1 = op1 - op2;
                    operator = operator2;
                    op2 = op3;
                }
                if () {
                    System.out.println(op1 + op2);
                    break;
                }
            }
        }
        scanner.close();

    }
}

你这一段看着,健壮性太差了,感觉多输一个数字或者字符赶紧就运行不起。

不太明白是要做什么,你如果是想在行尾判断有无下一行的话:

if (scanner.hasNextLine()) {
    System.out.println("result: " + op1 + op2);
    break;
}