惊鸿人间一片 2021-04-01 13:32 采纳率: 25%
浏览 24

正则表达式,四则运算符放到一个数组中,写入的跟拿到的不同

package ClassDemo2.HomeWork;

import java.io.*;

/*分析以下需求,并用代码实现
	项目根路径下有个questions.txt文件内容如下:
		5+5
		150-25
		155*155
		2555/5
	要求:读取内容计算出结果,将结果写入到results.txt文件中
		5+5=10*/
public class test6 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader("day09\\questions.txt"));
        String len;
        String[] s = {"\\+", "-", "\\*", "/"};
        BufferedWriter bw = new BufferedWriter(new FileWriter("day09\\results.txt"));
        System.out.println("----");
        while ((len = br.readLine()) != null) {
            System.out.println("jingru");
            for (int i = 0; i < s.length; i++) {
                System.out.println("s[i]="+s[i]);

                if (len.contains(s[i])) {
                    System.out.println("成功");
                    String[] split = len.split(s[i]);
                    String s1 = split[0];
                    String s2 = split[1];
                    int i1 = Integer.parseInt(s1);
                    int i2 = Integer.parseInt(s2);

                    pandduan(s[i], bw, s1, s2, i1, i2);

                }
            }
        }

        br.close();
        bw.close();

    }

    private static void pandduan(String s, BufferedWriter bw, String s12, String s2, int i1, int i2) throws IOException {
        switch (s) {
            case "+":
                int i3 = i1 + i2;
                String s3 = String.valueOf(i3);
                bw.write(s12 + "\\+" + s2 + "=" + s3);
                bw.newLine();
                bw.flush();
                break;
            case "-":
                int i4 = i1 - i2;
                String s4 = String.valueOf(i4);
                bw.write(s12 + "-" + s2 + "=" + s4);
                bw.newLine();
                bw.flush();
                break;
            case "*":
                int i5 = i1 * i2;
                String s5 = String.valueOf(i5);
                bw.write(s12 + "\\*" + s2 + "=" + s5);
                bw.newLine();
                bw.flush();
                break;
            case "/":
                int i6 = i1 / i2;
                String s6 = String.valueOf(i6);
                bw.write(s12 + "/" + s2 + "=" + s6);
                bw.newLine();
                bw.flush();
                break;
        }
    }
}

正则表达式,四则运算符放到一个数组中,写入的跟拿到的不同,结果如下:

怎么才能使s[i]的输出由\+或\*变成 +  *

  • 写回答

1条回答 默认 最新

  • BCS-点心 2021-04-01 15:15
    关注

    \\+和\\*

    直接写出+和*

    评论

报告相同问题?

悬赏问题

  • ¥15 hive on spark
  • ¥15 星穹铁道中的ai自动战斗逻辑
  • ¥15 SimpleHook 一下android fake模块的VIP日期
  • ¥15 如何在VBA中利用word的错词提示功能识别word文本中的错别字并标注
  • ¥15 c#调用c++函数 传参数问题
  • ¥15 jupyter notebook无法识别的空格,如何解决?(语言-python)
  • ¥15 自动回复评论的小插件
  • ¥20 用c++完成两道大题,要求提供.h和.cpp,以及用来测试的main.cpp
  • ¥15 2024电赛H题指导
  • ¥15 第三方如何控制E8a进行烧录