import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
/* 项目根路径下有个questions.txt文件内容如下:
5+5
150-25
155*155
2555/5
要求:读取内容计算出结果,将结果写入到results.txt文件中
5+5=10
*/
public class hm03 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("io-code\\questions.txt"));
ArrayList<String> list = new ArrayList<>();
String line;
//将文本内容放入集合
while ((line = br.readLine()) != null) {
list.add(line);
}
br.close();
System.out.println(list); //[155*155, 5+5, 150-25, 2555/5]
System.out.println("计算结果:");
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
for (int j = 0; j < s.length(); j++) {
//第一次会多输出个[5+5],不知道为啥
if(j==0){
continue;
}
if (!(s.charAt(j) >= '0' && s.charAt(j) <= '9')) {
char c = s.charAt(j);
// System.out.println(c);把上面的continue去掉,会多输出一行空格,结果:空行,+,-,*,/
String bei = s.substring(0,j);
// System.out.println(bei);
String chu = s.substring(j+1);
// System.out.println(chu);
// //判断是哪个运算符,并计算值
switch (s.charAt(j)) {
case '+':
//这一个报NumberFormatException
// System.out.println((Integer.valueOf(bei) + Integer.valueOf(chu)));
break;
case '-':
System.out.println(bei+c+chu+"="+(Integer.valueOf(bei) - Integer.valueOf(chu)));
break;
case '*':
System.out.println(bei+c+chu+"="+(Integer.valueOf(bei) * Integer.valueOf(chu)));
break;
case '/':
System.out.println(bei+c+chu+"="+(Integer.valueOf(bei) / Integer.valueOf(chu)));
break;
default:
System.out.println("error");
break;
}
}
}
}
}
}