01_计算器

1、功能要求

写一个计算器,要求实现加减乘除的功能,并且能够循环接受新的数据,通过用户交互实现。

2 、解题思路

  • 写四个功能函数,加减乘除。
  • 交互实现,循环接受输入while()和Scanner类。
  • 输出结果

3、代码实现

package com.Macong.method;

import java.util.Scanner;

public class Calculator {
    //写一个计算器,要求实现加减乘除的功能,并且能够循环接受新的数据,通过用户交互实现。

    /*
    思路分析:
    1、加减乘除,四个功能对应四个功能函数
    2、要一个循环接收新数据,并进行功能选择
    3、Scanner类来交互
    4、输出结果
     */

    public static double Add(double a, double b) {

        return a + b;
    }

    public static double Subtract(double a, double b) {
        return a - b;
    }


    public static double Multiply(double a, double b) {
        return a * b;
    }

    public static double Divide(double a, double b) {
        return a / b;
    }
    

    
    public static void main(String[] args) {
        Scanner input_1 = new Scanner(System.in);

        int a = 0;
        int b = 0;
        String c = null;
        String d = null;
        //char d = '0';
        boolean y = true;//是否继续的标识


        while (y) {
            System.out.println("输入数字:");
            a = input_1.nextInt();
            System.out.println("输入运算符:");

            c = input_1.next();
            System.out.println("输入数字:");
            b = input_1.nextInt();

            switch (c) {
                case "+": {

                    System.out.println(Add(a, b));
                    break;
                }
                case "-": {

                    System.out.println(Subtract(a, b));
                    break;
                }
                case "*": {
                    System.out.println(Multiply(a, b));
                    break;
                }
                case "/": {
                    System.out.println(Divide(a, b));
                    break;
                }
            }
            System.out.println("是否继续(yy/nn):");

            //d = input_1.next().charAt(0);
            d = input_1.next();
            System.out.println("d的值" + d);
            //不继续的话,将y=false;
            //这里千万不能用“==”
            
            if (d.equals("nn")) {
                System.out.println("不继续");
                y = false;
            } else {
                System.out.println("继续");
            }
           
        }
        input_1.close();
    }
}

 /*
 String 不是基本类型,是引用类型,==比较基本类型的值,比较引用类型的地址。

 equal自对引用类型,重写前比较地址,String重写后,比较值。

 string对象在常量池中,不在堆里。
*/

 string d = null;
 d = input_1.next();
         //不继续的话,将y=false;
         if (d != "y") {
         y = false;

         }
  1. 这里d接收额数据nn放在常量区,栈用d 它的存放在常量区的地址
  2. String d =“ nn” ,if(d==“nn”),这里的d是地址,"nn"是地址还是字符串??

        

            if (d=="nn") {
                System.out.println("不继续");
                y = false;
            } else {
                System.out.println("继续");
            }
          

定义两个String对象:

  String e = "nn";
            String d = null;
            System.out.println("是否继续(yy/nn):");

            //d = input_1.next().charAt(0);
            d = input_1.next();
            System.out.println("d的值" + d);
            //不继续的话,将y=false;
            //这里千万不能用“==”
            
            if (d==e) {
                System.out.println("不继续");
                y = false;
            } else {
                System.out.println("继续");
            }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值