问题遇到的现象和发生背景
除法运算结果要四舍五入还不能为零,四舍五入总运行不出来
运行结果及报错内容
我想要达到的结果
一百道四则运算最后还要在结尾附带结果,怎么解决哇
除法运算结果要四舍五入还不能为零,四舍五入总运行不出来
一百道四则运算最后还要在结尾附带结果,怎么解决哇
import java.math.BigDecimal;
import java.util.Random;
public class Cal {
public static void main(String args[]) {
String[] formulaArr = new String[100];
String[] resultArr = new String[100];
for(int i=0; i<100; i++) {
int numOne = getNum();
String symbol = getSymbol();
int numTwo = getNum();
formulaArr[i] = numOne + symbol + numTwo + "=";
resultArr[i] = getResult(numOne, symbol, numTwo);
}
for(int i=1; i<=100; i++) {
if(i % 10 != 0) {
System.out.print(formulaArr[i-1] + " ");
}else {
System.out.println(formulaArr[i-1]);
}
}
System.out.println("正确答案");
for(int i=1; i<=100; i++) {
if(i % 10 != 0) {
System.out.print(resultArr[i-1] + " ");
}else {
System.out.println(resultArr[i-1]);
}
}
}
public static int getNum() {
return (int)(Math.random()*(99))+1;
}
public static String getSymbol() {
String[] symbolArr = new String[]{"+", "-", "*", "/"};
int index = new Random().nextInt(symbolArr.length);
return symbolArr[index];
}
public static String getResult(int numOne, String symbol, int numTwo) {
switch (symbol) {
case "+":
return String.valueOf(numOne + numTwo);
case "-":
return String.valueOf(numOne - numTwo);
case "*":
return String.valueOf(numOne * numTwo);
case "/":
BigDecimal rs = new BigDecimal(numOne).divide(new BigDecimal(numTwo), 2, BigDecimal.ROUND_HALF_UP);
return String.valueOf(rs);
default:
return "error";
}
}
}