练习:项目根路径下有个questions.txt文件内容如下: 5+5 150-25 155*155 2555/5

项目根路径下有个questions.txt文件内容如下:

	5+5
	150-25
	155*155
	2555/5
    public static void main(String[] args) throws IOException {
        // 创建BufferedWriter对象写入文本文件
        BufferedWriter bw = new BufferedWriter(new FileWriter(写入地址));
        // 创建BufferedReader对象读取文本文件
        BufferedReader br = new BufferedReader(new FileReader(读取的文件地址));

        String line;
        // 循环写入
        while ((line = br.readLine()) != null) {
            // 计算结果,找到运算符,找到参与运算的两个数据
            // 将字符串,转换成字符数组
            char[] chars = line.toCharArray();

            // 定义变量,记录操作运算符
            int operatorIndex = -1;


            /*
            除了运算符其他都是数值
             */
            for (int i = 0; i < chars.length; i++) {
                char c = chars[i];
                // 满足条件就是我们要找的运算符
                if (!(c >= '0' && c <= '9')) {
                    operatorIndex = i;
                    break;
                }
            }
            // 获取操作运算符和两边参与运算的数据
            char aChar = chars[operatorIndex];
            int fistnum = Integer.parseInt(line.substring(0, operatorIndex));
            int lastnum = Integer.parseInt(line.substring(operatorIndex + 1));


            // 定义变量,用于保存计算的结果
            int result = 0;
            switch (aChar) {
                case '+':
                    result = fistnum + lastnum;
                case '-':
                    result = fistnum - lastnum;
                case '*':
                    result = fistnum * lastnum;
                case '/':
                    result = fistnum / lastnum;
            }

            bw.write(line+"="+result);
            bw.newLine();
        }

        // 释放资源
        bw.close();
        br.close();

    }

你可能感兴趣的:(java)