java的四则运算

要求1系统启动准备运算。2.请选择运算符1,+2,-3,*4,/3输入第一个晕算数,4输入第二个晕算数,5输出运算公式以及结果6请选择是否继续运算,7如果输出N提示结束运... 要求1系统启动准备运算。2.请选择运算符1,+ 2,- 3,* 4,/ 3输入第一个晕算数,4输入第二个晕算数,5输出运算公式以及结果6请选择是否继续运算,7如果输出N提示结束运算退出系统8如果是Y,则进入选择运算符9如果用户输入非法字符,提供用户重新操作的选择方式
大神求解救
展开
 我来答
匿名用户
2015-11-01
展开全部
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("输入非法!");
                        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这段是什么意思啊
追答
用于判断当前选择的运算符
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式