*2.22(金融应用:货币单位)改写程序清单2-10,解决将double转int可能会造成精度损失问题。以整数值作为输入,其最后两位代表的是美分币值

  • 题目
    • 题目概述
    • 举例
    • 程序清单2-10
    • 修改思路
  • 代码

题目

题目概述

*2.22(金融应用:货币单位)改写程序清单2-10,解决将double转int可能会造成精度损失问题。以整数值作为输入,其最后两位代表的是美分币值

举例

1156表示11美元56美分

程序清单2-10

import java.util.Scanner;public class Qingdan {public static void main(String[] args) {// Create a ScannerScanner input = new Scanner(System.in);// Receive the amountSystem.out.println("Enter an amount in double, for example 11.56");double amount = input.nextDouble();int remainingAmount = (int)(amount * 100);// Find the number of one dollarsint numberOfOneDollars = remainingAmount / 100;remainingAmount = remainingAmount % 100;// Find the number of quarters in the remaining amountint numberOfQuarters = remainingAmount / 25;remainingAmount = remainingAmount % 25;// Find the number of dimes in the remaining amountint numberOfDimes = remainingAmount / 10;remainingAmount = remainingAmount % 10;// Find the number of nickels in the remaining amountint numberOfNickels = remainingAmount / 5;remainingAmount = remainingAmount % 5;// Find the number of pennies in the remaining amountint numberOfPennies = remainingAmount;// Display resultsSystem.out.println("Your amount" + amount + " consists of");System.out.println(" " + numberOfOneDollars + " dollars");System.out.println(" " + numberOfQuarters + " quarters");System.out.println(" " + numberOfDimes+ " dimes");System.out.println(" " + numberOfNickels + " nickels");System.out.println(" " + numberOfPennies+ " pennies");}
}

修改思路

找到从控制台获取数据的地方,更改赋值和下面语句变量即可

代码

import java.util.Scanner;public class Test2_22 {public static void main(String[] args) {// Create a ScannerScanner input = new Scanner(System.in);// Receive the amountSystem.out.println("Enter an amount in int, for example 1156");int remainingAmount = input.nextInt();// Find the number of one dollarsint numberOfOneDollars = remainingAmount / 100;remainingAmount = remainingAmount % 100;// Find the number of quarters in the remaining amountint numberOfQuarters = remainingAmount / 25;remainingAmount = remainingAmount % 25;// Find the number of dimes in the remaining amountint numberOfDimes = remainingAmount / 10;remainingAmount = remainingAmount % 10;// Find the number of nickels in the remaining amountint numberOfNickels = remainingAmount / 5;remainingAmount = remainingAmount % 5;// Find the number of pennies in the remaining amountint numberOfPennies = remainingAmount;// Display resultsSystem.out.println("Your amount" + remainingAmount + " consists of");System.out.println(" " + numberOfOneDollars + " dollars");System.out.println(" " + numberOfQuarters + " quarters");System.out.println(" " + numberOfDimes+ " dimes");System.out.println(" " + numberOfNickels + " nickels");System.out.println(" " + numberOfPennies+ " pennies");}
}

Java黑皮书课后题第2章:*2.22(金融应用:货币单位)改写程序清单2-10,解决将double转int可能会造成精度损失问题。以整数值作为输入,其最后两位代表的是美分币值相关推荐

  1. Java *2.22(财务应用:货币单位)改写程序清单2-10,解决将double转int可能会造成精度损失问题。以整数值作为输入,其最后两位代表的是美分币值。例如:1156就表示11美元56美分。

    2-10 示例学习:整钱总零  要点提示:本节展示一个程序,将一个大额的钱分成较小货币单位.      假如你希望开发一个程序,将给定的钱数分成较小的货币单位.这个程序要求客户输入一个double型的 ...

  2. Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类

    Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类) 题目 缺陷 UML图 代码 Test02_MyDate.java:用于参考的My ...

  3. Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置。

    Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置 题目 破题 代码 Test13 Test13_Location 运行结果 ...

  4. Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交。第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4)

    Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交.第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4) 题目 破题 ...

  5. Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类

    Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类 题目 破题 代码 Test10 Test11_LinearEquat ...

  6. Java黑皮书课后题第9章:*9.10(代数:二次方程式)为二次方程式设计一个名为QuadraticEquation的类

    Java黑皮书课后题第9章:*9.10(代数:二次方程式)为二次方程式设计一个名为QuadraticEquation的类 题目 破题 代码 Test10 Test10_QuadraticEquatio ...

  7. Java黑皮书课后题第9章:*9.6(秒表)设计一个名为StopWatch的类,该类包含……。编写一个测试程序,用于测量使用选择排序对100000个数字进行排序的执行时间

    Java黑皮书课后题第9章:*9.6(秒表)设计一个名为StopWatch的类,该类包含--.编写一个测试程序,用于测量使用选择排序对100000个数字进行排序的执行时间 题目 破题 代码 Test6 ...

  8. Java黑皮书课后题第9章:*9.5(使用GregorianCalendar类)Java API中有一个位于包java.util中的类GregorianCalendar

    Java黑皮书课后题第9章:*9.5(使用GregorianCalendar类)Java API中有一个位于包java.util中的类GregorianCalendar 题目 代码 题目 代码 imp ...

  9. Java黑皮书课后题第9章:*9.4(使用Random类)编写一个程序,创建一个种子为1000的Random对象,然后使用nextInt(100)方法显示0到100之间的前50个随机整数

    Java黑皮书课后题第9章:*9.4(使用Random类)编写一个程序,创建一个种子为1000的Random对象,然后使用nextInt方法显示0到100之间的前50个随机整数 题目 赘述 代码 题目 ...

最新文章

  1. php的数组排序方法,PHP数组排序函数
  2. 风变编程python小课课件_风变编程Python小课最近很火,大家学完感受如何?
  3. [Spring Data MongoDB]学习笔记--建立数据库的连接
  4. 前端技术未来三年前瞻性思考
  5. Quartz简单实例
  6. catcti监控linux主机,CentOS7搭建Prometheus 监控Linux主机
  7. mysql 自定义函数 找不到表_mysql 自定义函数
  8. HDU4628+状态压缩DP
  9. 双向循环链表---仿照linux内核实现
  10. 如何关闭打开了多个activity的activity
  11. 所有的困苦都是有用意的
  12. nginx之头部变量x_forwarded_for
  13. Unity3D 2D设计小游戏移动幻影的实现
  14. 对于微信二维码相关官方文档的一些注解(微信登录和绑定微信、关注公众号)
  15. 公有云平台专题《电信云平台,NB-IoT模组对接电信CTWing平台》
  16. 汽车改装之3G上网车载电脑篇
  17. 2021.5.22 2022蓝桥杯练习赛3
  18. 贝塞尔曲线公式,我是你爸爸
  19. Android Recovery升级原理
  20. Java之父--詹姆斯·高斯林

热门文章

  1. intel服务器芯片组介绍,Intel芯片组的简介
  2. 昨天又写到个结构体排序,用多种cmp
  3. c语言二维数组参数传入,C语言二维数组、参数传递的理解
  4. eclipse 连接mysql_eclipse连接MySQL
  5. BERT 蒸馏在垃圾舆情识别中的探索
  6. 如何打开设计思路,避免不断改稿?只需提前做好这一步
  7. 动效如何构成连接 篇肆
  8. 马里奥AI实现方式探索 ——神经网络+增强学习
  9. 游戏建模、纹理、后期,手把手教你制作《向日葵公主》
  10. SQL基础【十四、In、Between and】