功能:

  • 使用Formatter格式化打印购物发票(项目,数量,价格三列。税额,总计)
    过程:
  • Receipt
    printTitle,print,printTotal三个方法

个人实现:

package thinking;import java.util.Formatter;public class Receipt {private double total = 0.0;//使用Doubleprivate Formatter formatter = new Formatter(System.out);private void printTitle() {formatter.format("%-15s %5s %10s\n", "Item", "Qty", "Price");formatter.format("%-15s %5s %10s\n", "----", "---", "----");}private void print(String item,int qty,double price) {//formatter.format("%-15s %5d %10f\n", item, qty, price);formatter.format("%-15.15s\t %5d %10.2f\n", item, qty, price);//注意添加\t,否则汉字显示格式不对total += price;}private void printTotal() {formatter.format("%-15s %5s %10s\n", "----", "", "----");formatter.format("%-15s %5s %10.2f\n", "Tax", "", total*0.03);formatter.format("%-15s %5s %10f\n", "total", "", total*1.03);}public static void main(String[] args) {Receipt receipt = new Receipt();receipt.printTitle();receipt.print("土豆", 2, 12.5);receipt.print("番茄", 4, 25.5);receipt.print("西瓜", 1, 8.0);receipt.print("其他其他其他其他其他其他其他其他其他其他其他其他其他", 1, 222.2);receipt.print("abc", 2, 12.5);receipt.print("cde", 4, 25.5);receipt.print("f", 1, 8.0);receipt.print("hhahahhhahahhhahahhhahahhhahahhhahahhhahahhhahahhhahah", 1, 222.2);receipt.printTotal();}}

比较:

  • 注意\t的使用(参考https://blog.csdn.net/yinxbd/article/details/78320924)

Thinking in Java 13.5.4格式化说明符相关推荐

  1. JAVA格式化说明_【ThinkingInJava】26、java字符串格式化说明符

    /** * 书本:<Thinking In Java> * 功能:对于java字符串格式化说明符 * format字符串的格式化参数语法如下: * %[argument_index$][f ...

  2. java 日期和时间格式化转换符操作

    学习java时知识太过的零碎,不系统,学习东西以快为主,导致根基不稳,现在决定把java基础重新学习一遍,把自认为比较好的java使用方式拿出来 1.自己在熟悉一遍 2.后续方便查找 3.没有了解的在 ...

  3. java printwriter format_Java的格式化输出

    在JavaSe5中,推出了C语言中printf()风格的格式化输出.这不仅使得控制输出的代码更加简单,同时也给与Java开发者对于输出格式与排列更大的控制能力.今天,我们开始学习Java中的格式化输出 ...

  4. java9新特性 2017_Java 9 ← 2017,2019 → Java 13 ,来看看Java两年来的变化

    作者 l Hollis来源 l Hollis(ID:hollischuang)距离 2019 年结束,只剩下 35 天了.你做好准备迎接 2020 年了吗?一到年底,人就特别容易陷入回忆和比较之中,比 ...

  5. Java 13,最新最全新特性解读

    2017年8月,JCP执行委员会提出将Java的发布频率改为每六个月一次,新的发布周期严格遵循时间点,将在每年的3月份和9月份发布. 目前,JDK官网上已经可以看到JDK 13的进展,最新版的JDK ...

  6. Java 9 ← 2017,2019 → Java 13 ,来看看Java两年来的变化

    距离 2019 年结束,只剩下 10 几天了.你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说这几天, 的对比挑战就火了! 这个话题登上了微博的热搜榜,也刷爆了朋 ...

  7. java获取mysql时间格式化_Java与mysql的时间格式化问题,获取时间的上下午

    Java与mysql的时间格式化问题,获取时间的上下午java 在项目中常常会遇到对时间进行格式化的问题,一次在对应用中发现,使用Java的SimpleDateFormat格式化时间,获取到的是上午, ...

  8. Java 1.2.2 格式化输出

    System.out.printf( ) 在早期的 Java 版本中,格式化数值曾引起过一些争议.后来Java SE 5.0 沿用了 C 语言库函数中的 printf方法. 每一个以 %字符开始的格式 ...

  9. java9 变化_Java 9 ← 2017,2019 → Java 13,来看看Java两年来的变化

    距离 2019 年结束,只剩下 33 天了.你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说这几天的对比挑战就火了! 这个话题登上了微博的热搜榜,也刷爆了朋友圈, ...

  10. Java 9 ← 2017,2019 → Java 13 ,Java 两年来都经历了什么?| CSDN 博文精选

    作者 | Hollis 责编 | maozz 出品 | CSDN 博客 距离 2019 年结束,只剩下 35 天了.你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说 ...

最新文章

  1. Ubuntu 16.04 安装anaconda3详细教程(从下载源到测试成功)
  2. 彩图完美解释:麦克斯韦方程组
  3. A Multi-task Deep Network for Person Re-identification
  4. java json特殊字符处理_java json字符串传递给 js 时 特殊字符转义错误 研究
  5. linux 开启防火墙的指定端口
  6. Build Settings发布设置
  7. 微信打飞机html 游戏代码,JavaScript仿微信打飞机游戏
  8. 关于win11没有ie 11的问题
  9. 可用的码支付系统源码
  10. HashMap底层数据结构
  11. 5000的台式计算机,预算5000的台式组装机配置清单_预算5000的台式组装机配置
  12. WIN7 IE8假死现象解决方法
  13. 百度有啊创始团队写博客 自曝高层动荡内幕
  14. 如何书写一手优雅的代码之小刚有话说
  15. [IOI2005]Riv河流
  16. 站长福利!将Discuz论坛转原生Android/iOS双端插件《BigApp》开源分享
  17. 实操手册:如何在GKE上部署HTTP(S) Load Balancer及容器应用程式
  18. 毛概(毛中特)期末/考研复习笔记——导论
  19. 远景论坛找不到服务器,远景论坛 PCBeta 无法访问的临时解决办法
  20. float,double,decimal的区别于误解

热门文章

  1. 在SharePoint 2013中显示“以其他用户身份登录”
  2. 4、线程--线程同部
  3. selenium自动化测试框架之PO设计模式
  4. 转载:Futurice-Android 开发最佳实践
  5. 阅读 图解HTTP ,读书笔记
  6. CentOS TinyProxy http(s)上网代理及置代理上网的方法
  7. centos 和 radhat 配置epel仓库
  8. CSS-样式表插入的三种方法、背景(background)、文本
  9. 2.业务架构·应用架构·数据架构实战 --- TOGAF理论全景解读
  10. 2.scrapy 的使用