zoukankan      html  css  js  c++  java
  • Java

    练习:

      设计一个计算器。

    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的读取。(此处借用阿拓老师的图)

  • 相关阅读:
    [Go] 理解(*interface{})(nil) 赋值的变量是否为nil
    [Linux] 理解CPU缓存的伪共享问题
    [MySQL] 理解InnoDB并发高的原因
    [Go] 理解计算机负数的表示以及整数范围
    [Go]理解golang项目性能分析工具trace
    [Go]理解golang项目性能分析工具PProf
    [Go] 理解切片slice扩容
    [javascript]解决多个版本的jquery库或者$冲突
    [Linux] 理解Reactor 模型
    [Linux] 理解I/O多路复用
  • 原文地址:https://www.cnblogs.com/yyanghang/p/11055034.html
Copyright © 2011-2022 走看看