展开全部
import java.util.Scanner;
public class SimpleCalc {
public SimpleCalc() {}
public static void main(String[] args) {
calc();
}
public static void calc() {
Scanner reader = new Scanner(System.in);
char op;
double num1, num2, result;
while (true) {
System.out.println("请选择运算符:1、+;2、-;3、*;4、/");
if (reader.hasNext()) {
op = reader.nextChar();
switch (op) {
case '1':
op = 1;
break;
case '2':
op = 2;
break;
case '3':
op = 3;
break;
case '4':
op = 4;
break;
case 0://EOF
default:
System.out.println("输入非法62616964757a686964616fe59b9ee7ad9431333337623364!");
op = 0;
break;
}
if (0 != op) {
try {
System.out.println("请输入第一个运算数:");
if (reader.hasNext()) {
num1 = reader.nextDouble();
}
System.out.println("请输入第二个运算数:");
if (reader.hasNext()) {
num2 = reader.nextDouble();
}
switch (op) {
case 1:
result = num1 + num2;
break;
case 2:
result = num1 - num2;
break;
case 3:
result = num1 * num2;
break;
case 4:
result = num1 / num2;
break;
}
System.out.println("运算结果为:"+ result);
System.out.println("是否继续?是(Y)/否(N):");
} catch(Exception err) {
System.out.println("输入非法!");
}
if (!isContinue(reader)) {
break;
}
}
}
}
}
public static boolean isContinue(Scanner reader) {
boolean flag = false;
if (reader.hasNext()) {
char isContinue = reader.next().charAt(0);
if ('N' == isContinue) {
flag = false;
} else if ('Y' == isContinue) {
flag = true;
} else {
System.out.println("是否继续?是(Y)/否(N):");
flag = isContinue(reader);
}
}
return flag;
}
}
更多追问追答
追问
大神 op这段是什么意思啊
追答
用于判断当前选择的运算符
追问
calc这是代表什么呢
追答
读代码啊亲
这不是我自己写的一个方法
代码逻辑都在这个方法里
请认真读代码
追问
我都明白了 但是出错误了
追答
晕
这个是有问题的版本
等等
本回答由提问者推荐
已赞过
已踩过<
你对这个回答的评价是?
评论
收起