金俊伊 2021-02-04 03:53 采纳率: 100%
浏览 101
已结题

java初学者遇到一个问题 有几行代码不是完全明白 希望大佬指点

这是书上一道例题 想每一行代码都完全弄清楚 标注的地方是我的理解 有三行代码是我不明白的 如果有任何错误的地方请指出 感谢感谢

class CashRegister{

 

   public CashRegister()   {  //将CashRegister两个参数的初始值设为0

      purchase = 0;

      payment = 0;

   }

 

   public void recordPurchase(double amount)   {  //总数=0+购买金额 //purchase=total 赋值到total

      double total = purchase + amount;

      purchase = total;

   }

 

 

   public void enterPayment(double amount)   {   //收到付款的参数

      payment = amount;

   }

 

 

   public double giveChange()   {        //找钱的参数

                                     //double找钱=付款-价格

  

      double change = payment - purchase;

      purchase = 0;                     //???

      payment = 0;                     //???

      return change;                    //返回找钱的数值

   }

 

   private double purchase;               //这里两个private是为什么?

   private double payment;

 

}

 

public class CashRegisterTester{           //driver

 

   public static void main(String[] args)   {  //main方法

      CashRegister register = new CashRegister();    //新建一个对象register

      register.recordPurchase(29.50);              //购买价值29.5

      register.recordPurchase(9.25);              //购买价值9.25

      register.enterPayment(50);                //付50

      double change = register.giveChange();  //新建一个change参数 调用register.giveChange方法

      System.out.println(change);     

   }

}

  • 写回答

4条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2021-02-04 04:13
    关注

    >   private double purchase;               //这里两个private是为什么?

    >   private double payment;

    回答:是为了存储两个变量的值。private 的意思是不让外界直接改版它们,而要通过函数 recordPurchase(), enterPayment() 来改变。 

     

    >   purchase = 0;                     //???

    >    payment = 0;                     //???

    回答:是为了清零这两个数值,表示这一笔交易结束了,为下一次交易做准备。 

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月3日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵