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]的输出由\+或\*变成 + *