Java笔记--简易计算器

简易计算器代码

编写的第一个垃圾简易计算器代码,贴出来,纪念一下!
哈哈哈, 简直辣眼睛!

import java.util.Scanner;

public class Calc02 {
    public static void main(String[] args) {
        //写一个计算器,要求实现加减乘除功能,并且能够循环接收数据,通过用户交互实现

        Scanner s = new Scanner(System.in);

        //定义3个变量结束数字
        double a = 0;
        double b = 0;
        String calc = "";

        //接收第一个数字
        System.out.println("请输入第一个数字:");
        if (s.hasNextDouble()){
            a = s.nextDouble();
        }

        //接收运算符
        System.out.println("请输入运算符:");
        //先接收上面步骤产生的enter
        String nouse1 = s.nextLine();
        if (s.hasNextLine()){
            calc = s.nextLine();
        }

        //接收第二个数字
        System.out.println("请输入第二个数字:");
        if (s.hasNextDouble()){
            b = s.nextDouble();
        }

        System.out.println("输入完毕");

        switch (calc){
            case "+":
                //+
                double sum = add(a,b);
                System.out.println("结果:"+ a +"+"+ b + "=" + sum);
                System.out.println("运算完毕,谢谢使用!");
                break;
            case "-":
                //-
                double cut = cut(a,b);
                System.out.println("结果:"+ a +"-"+ b + "=" + cut);
                System.out.println("运算完毕,谢谢使用!");
                break;
            case "*":
                //*
                double multi = multi(a,b);
                System.out.println("结果:"+ a +"*"+ b + "=" + multi);
                System.out.println("运算完毕,谢谢使用!");
                break;
            case "/":
                //  /
                double division = division(a,b);
                System.out.println("结果:"+ a +"/"+ b + "=" + division);
                System.out.println("运算完毕,谢谢使用!");
                break;
            default:
                System.out.println("非法字符,请重新输入!");
        }

        s.close();
    }
    public static double add(double num1, double num2){
        double result = num1 + num2;
        return result;
    }
    public static double cut(double num1, double num2){
        double result = num1 - num2;
        return result;
    }
    public static double multi(double num1, double num2){
        double result = num1 * num2;
        return result;
    }
    public static double division(double num1, double num2){
        double result = num1/num2;
        return result;
    }
}

对上述代码进行了修改,输入信息不符的时候会报错。目前阶段就只能理解到此了,后续再回头进行修改。

import java.util.Scanner;

public class CirInput {
    public static void main(String[] args) {
        //写一个计算器,要求实现加减乘除功能,并且能够循环接收数据,通过用户交互实现

        Scanner s = new Scanner(System.in);

        //定义3个变量结束数字
        double a;
        double b;
        String calc1 = "";
        String calc2;


        //接收第一个数字
        System.out.println("请输入第一个数字(完毕后输入回车):");
        if (s.hasNextDouble()){
            a = s.nextDouble();
        }else {
            System.out.println("非法输入,请重新输入数字");
            return;
        }

        //接收运算符
        System.out.println("请输入运算符(完毕后输入回车):");
        //先接收上面步骤产生的enter
        //在接收运算符
        String empty1 = s.nextLine();

        if (s.hasNextLine()){
            calc1 = s.nextLine();
        }

        //判断是否输入运算符  !!!注意此时不能用==判断
        if (calc1.equals("+")){
            calc2 = calc1;
        }else if (calc1.equals("-")){
            calc2 = calc1;
        }else if (calc1.equals("*")){
            calc2 = calc1;
        }else if (calc1.equals("/")){
            calc2 = calc1;
        }else {
            System.out.println("非法输入,请重新输入运算符");
            return;
        }
        /*    IDEA认识可以用switch替换,但是替换会出问题,后续再查找问题????
        switch (calc1){
            case "=":
                calc2 = calc1;
                break;
            case "-":
                calc2 = calc1;
                break;
            case "*":
                calc2 = calc1;
                break;
            case "/":
                calc2 = calc1;
                break;
            default:
                System.out.println("非法输入,请重新输入运算符");
                return;
        }

         */

        //接收第二个数字
        System.out.println("请输入第二个数字(完毕后输入回车):");
        if (s.hasNextDouble()){
            b = s.nextDouble();
        }else {
            System.out.println("非法输入,请重新输入数字");
            return;
        }

        System.out.println("输入完毕");

        switch (calc2){
            case "+":
                //+
                double sum = add(a,b);
                System.out.println("结果:"+ a +"+"+ b + "=" + sum);
                System.out.println("运算完毕,谢谢使用!");
                break;
            case "-":
                //-
                double cut = cut(a,b);
                System.out.println("结果:"+ a +"-"+ b + "=" + cut);
                System.out.println("运算完毕,谢谢使用!");
                break;
            case "*":
                //*
                double multi = multi(a,b);
                System.out.println("结果:"+ a +"*"+ b + "=" + multi);
                System.out.println("运算完毕,谢谢使用!");
                break;
            case "/":
                //  /
                double division = division(a,b);
                System.out.println("结果:"+ a +"/"+ b + "=" + division);
                System.out.println("运算完毕,谢谢使用!");
                break;
            default:
                System.out.println("非法字符,请重新输入!");
        }

        s.close();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值