Java - 面向对象类的练习(一) June 19,2019

练习:

  设计一个计算器。

import java.util.Scanner;

public class Calculator {
    private float add(float a, float b){
        return (a+b);
    }
        //减法 因为不确定输入的是小数还是整数,所以应该使用浮点型数据
    private float subtraction(float a, float b){
        return (a-b);
    }

    private float multiply(float a, float b){
        return (a*b);
    }
        //除法
    private float division(float a, float b){
        return (a/b);
    }

    public void calculator() {
        Scanner input1 = new Scanner(System.in);

        System.out.println("请输入第一个数字: ");
        String one = input1.nextLine();
        //将字符转换为浮点型 先将输入信息存为字符串型,然后转换为浮点型, 可以使代码更加灵活简单,如果直接使用Float类型的接收的话 会很麻烦,自己可以试一下
        float a = Float.parseFloat(one);

        while (true) {
            System.out.println("请输入符号: ");
            String b = input1.nextLine();
            //判断是否需要继续运算
            if (b.equals("=")) {
                System.out.println("计算结束.");
                break;
            }
            //判断符号是否正确
            if(!(b.equals("+") || b.equals("-") || b.equals("*") || b.equals("/"))){
                System.out.println("输入的符号有误 ! ");
                //如果是break的话 若符号错误 会结束运算。continue的话 会重新输入符号 继续运算
                continue;
            }
                System.out.println("请输入第二个数字");
                String two = input1.nextLine();
                float c = Float.parseFloat(two);
                //判断符号是否正确
                switch (b) {
                    case "+":
          //使用a可以看做 第二次运算时 的第一个数,可以减少代码数量
a
= this.add(a, c); break; case "/": a = this.division(a, c); break; case "*": a = this.multiply(a, c); break; case "-": a = this.subtraction(a, c); break; } System.out.println(a); } } } ----------------------------------------------------------------- public class Test { public static void main(String[] args){ Calculator z = new Calculator(); z.calculator(); } }

 此题应该注意Scanner的读取。(此处借用阿拓老师的图)

 

posted @ 2019-06-19 21:33  亿贫如洗杨道长  阅读(14)  评论(0编辑  收藏  举报