求高手用java代码帮我做一下这道题,谢谢。如果可以的话,请讲一下格式化输出。

掌握编程中的格式化输出技巧 本文还有配套的精品资源,点击获取 简介:在IT领域,格式化输出是基础且关键的概念,用于将数据或信息以清晰格式展示。它在控制台输出、日志记录及报表生成中至关重要。不同的编程语言有不同的格式化输出方法,如C++的 std::cout 、Python的 print() 函数以及Java的 printf 和 String.forma... 阅读详情



答:

/***********************批发类******************************/
 import java.text.NumberFormat;
  import java.util.Map;
  import java.util.Scanner;
  import java.util.Set;
  import java.util.TreeMap;
  
  public class Wholesale {
  //数字格式化器
  private static NumberFormat format = NumberFormat.getInstance();
  //库存对象.
  private static Map<Integer,Goods> warehouse = new TreeMap<Integer, Goods> ();
  /**
   * 构造批发对象.
   */
  Wholesale(){
  //初始化库存信息.
  warehouse.put(1, new Goods(1,"电风扇", 124.23));
  warehouse.put(2, new Goods(2,"洗衣机", 4500.0));
  warehouse.put(3, new Goods(3,"电视机", 8800.9));
  warehouse.put(4, new Goods(4,"冰箱", 5000.88));
  warehouse.put(5, new Goods(5,"空调机", 4456.0));
  //设置数字格式化器,最小保留一位小数.
  format.setMinimumFractionDigits(1);
  }
  /**
   * 运行批发系统.
   */
  public void run(){
  //打开控制台
  Scanner conin = new Scanner(System.in);
  //登录系统
  if(login(conin)){
  System.out.println("登录成功!");
  //打印使用信息
  show();
  //进行一次交易
  change(conin);
  }else{
  System.out.println("登录失败系统退出.");
  }
  }
  /**
   * 进行一次交易.
   */
  private void change(Scanner conin) {
  System.out.print("请输入您批发的商品编号: ");
  //商品编号
  Integer code = null;
  //批发数量
  Integer amount = null;
  //循环收集用户输入的商品编号与批发数量.
  while(conin.hasNext()){
  if(null == code){
  //收集商品编号
  code = conin.nextInt();
  //验收商品编号的有效性
  Goods g = warehouse.get(code);
  if(null == g){
  System.out.print("您输入的商品编号不存在,请重新输入: ");
  code = null;
  continue;
  }else{
  //商品编号验证有效后,提示输入批发数量.
  System.out.print("请输入批发数量: ");
  continue;
  }
  }else if(null == amount){
  //收集批发数量
  amount = conin.nextInt();
  break;
  }else{
  //收集商品编号与批发数量成功完成.
  break;
  }
  }
  Double total = warehouse.get(code).getPrice() * amount;
  System.out.println("您需要付款: "+format.format(total));
  //交易结束,关闭系统.
  conin.close();
  
  }
  /**
   * 用户登录方法.
   * @return 如果登录成功返回true,如果登录失败返回false.
   */
  private boolean login(Scanner conin){
  System.out.print("请输入用户名: ");
  //表示是否登录成功
  Boolean logined = false; 
  //循环等待输入.
  while(conin.hasNext()){
  String name = conin.next();
  if("TOM".equals(name)){
  System.out.print("请输入密码: ");
  String password = conin.next();
  if("123".equals(password)){
  logined = true;
  break;
  }else{
  System.out.print("密码错误!");
  break;
  }
  }else{
  System.out.print("用户名错误!");
  break;
  }
  }
  return logined;
  }
  /**
   * 打印本系统的使用信息.
   */
  private void show(){
  
  StringBuffer sb = new StringBuffer();
  sb.append("*********欢迎进入商品批发城*********\n");
  sb.append("\t编号\t商品\t价格\n");
  Set<Integer> keys = warehouse.keySet();
  for(Integer code : keys){
  Goods g = warehouse.get(code);
  
  
  sb.append("\t"+g.getCode()+"\t"+g.getName()+"\t"+format.format(g.getPrice())+"\n");
  }
  sb.append("**********************************\n");
  System.out.println(sb.toString());
  }
  
  
  public static void main(String[] args) {
  Wholesale w = new Wholesale();
  w.run();
  
  }
  }
  /***********************商品类******************************/
 /**
   * 商品类
   */
  public class Goods {
  /**商品编码*/
  private Integer code;
  /**商品名称*/
  private String name;
  /**商品单价*/
  private Double price;
  /**
   * 以商品编码,名称,单价,构建一个商品对象.
   * @param code 商品编码
   * @param name 商品名称
   * @param price 商品单价
   */
  public Goods(Integer code, String name, Double price) {
  super();
  this.code = code;
  this.name = name;
  this.price = price;
  }
  
  public Integer getCode() {
  return code;
  }
  public void setCode(Integer code) {
  this.code = code;
  }
  public String getName() {
  return name;
  }
  public void setName(String name) {
  this.name = name;
  }
  public Double getPrice() {
  return price;
  }
  public void setPrice(Double price) {
  this.price = price;
  }
  }
  
 我的运行结果如图:














livebos报表开发 文章目录1.参数的设定2.展示的内容3.综合展示的效果4.调用过程5.可以在数据库里面查看6.注意事项7.过程代码 1.参数的设定 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-flb5C49A-1619516341977)(/uploads/xinxibuneibuzhishiku/images/m_bc71bb4608053778dbf29e06cd102ae1_r.png)] 2.展示的内容 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img- 阅读详情

相关推荐

拆开一个烧坏的IGBT模块,手把手教你识别过压、过流、过温的“案发现场”

本文详细解析了IGBT模块失效分析的实战技巧,通过观察铝层熔化纹路、焊锡溢出形态等物理痕迹,手把手教你识别过压、过流、过温的典型失效模式。文章提供了从基础工具包到现场快速诊断的完整流程,帮助工程师精准定位IGBT模块失效的根本原因。

weixin_30655569的博客 423

登录验证通过后,显示批发商品信息; 输入批发商品编号和数量,以指定格式显示总金额

如题,上代码: package com.mxy.HomeWork; import java.util.Scanner; /** * 2:登录验证通过后,显示批发商品信息; 输入批发商品编号和数量,以指定格式显示总金额 * <p> * 实现思路 * A、创建类Goods * B、创建方法show() * C、创建方法change() * * @author MXHstrat * @create 2021 - 11 - 03 20:44 */ public class

苗老八的博客 1334

Abaqus仿真突然中断?手把手教你解决SIGTERM/SIGINT报错(附完整命令行方案)

本文深入解析Abaqus仿真中因SIGTERM或SIGINT信号导致进程意外中断的根本原因,并提供了一套完整的命令行解决方案。通过将作业提交方式从图形界面切换到命令行,并配合关键参数设置,可以有效避免因会话空闲超时或外部干扰引发的计算中断,保障长时间仿真任务的稳定运行。

devops8pract的博客 745

Java常用类作业

一.显示批发商品信息;输入批发商品编号和数量,以指定格式显示价格和总金额。 1.题目 利用StringBuffer类 insert ()方法实现需求。 2.分析 需要定义两个数组:商品和价格。其中,价格输入时是“45986”,要求输出的格式是“45,986”,也就是我们平常金钱的输出模式,从后往前数三位加一个逗号,可以用一个方法来实现。 3.代码 package homework1; import java.util.Scanner; public class Test { p..

qq_45267354的博客 993

黑暗中的爆破(船讯网Ais爬虫暨爬虫实战js逆向学习经验分享)

船讯网 爬虫 js逆向 python

returnadsss的博客 1575

CANFD升级踩坑实录:DBC转换时DLC大于8的信号怎么处理?

本文详细探讨了CANFD升级过程中DLC大于8的信号处理问题,提供了工程化解决方案和AutoSar BSW层配置要点。通过分析CAN与CANFD的DLC本质差异,提出信号拆分重组、DLC重映射和协议层适配三种策略,并给出验证与测试方案,帮助开发者避免数据截断和通信故障。

weixin_42521843的博客 228

Java基础之常用类的理解

Java基础之常用类基本数据类型的包装类字符串的相关操作不可变字符序列String类常用的方法(1)String类常用的方法(2)#字符串比较#上机练习1—会员登录训练要点:#上机练习2--判断字符出现次数StringBuffer类与StringBuilder类 基本数据类型的包装类 包装类的概述:是将基本数据类型封装到一个类中,包含属性和方法,方便对象操作。 包装类位于java.lang包中。 自动装箱和自动拆箱 自动装箱:基本数据类型自动地封装到与它相同类型的包中。 public class Te

weixin_62922379的博客 1183

配电网故障重构/孤岛划分/故障恢复

程序主要复现《基于GA_BFGS算法的配电网故障恢复性重构研究_郑海广》,采用matlab编程软件实现,依据网络结构和DG供电方式对配电网进行孤岛划分,将含有 DG 的配电网拓扑结构看成一个树,搭建成连通图模型,使得将孤岛的划分变成了求取最小生成树,以网损和开关开断次数作为目标,采用 IEEE33 节点配电网为算例,通过遗传算法寻优计算,从而得到最佳的重构方案。

zhangxd212489的博客 2500

java--StringBuffer类 实现金额格式化(初学小菜鸟的纠错笔记)

实现商品批发总金额显示 登录验证通过后,显示批发商品信息; 输入批发商品编号和数量,以 指定格式显示总金额 格式化输出带小数的金额 自己尝试写出的代码 最大的缺陷是 没有使用数组 没有考虑double可以转String/StringBuffer,使得代码更复杂 代码如下: import java.util.Scanner; public class Goods { private int goodsNo; private String goodsName; private.

qq_44122803的博客 1376

12、无人机系统的建模与仿真

本文深入探讨了无人机系统的建模与仿真技术,涵盖其发展需求、历史演变、动力学建模方法、常用参考框架与状态变量表示,并分析了在控制系统设计、操作员培训和子系统测试中的关键应用。文章还介绍了不同类型无人机(固定翼、旋翼、混合翼)在建模与仿真中的差异,提出了多学科融合、高精度实时仿真及VR/AR技术等未来发展趋势,并给出了实际建模与仿真的标准操作流程,为无人机系统的设计与优化提供了全面的技术支持与展望。

websocket5live的博客 196

Detector-Free SfM 项目复现完整指南:从环境搭建到代码解析与可视化

本文提供了Detector-Free SfM项目的完整复现指南,涵盖技术背景、环境配置、代码解析和可视化方案。重点包括: 技术背景:Detector-Free SfM通过两阶段策略(粗重建+迭代精化)解决了传统SfM在弱纹理区域的瓶颈问题,采用深度学习匹配器替代传统特征点检测。 环境配置: 详细硬件要求与推荐配置(GPU/CPU/内存) 完整的Ubuntu系统设置步骤 Conda环境创建与依赖安装流程 关键组件安装指南(PyTorch、COLMAP等) 常见错误解决方案 项目特点: 支持多种Detector

huanghm88的专栏 120

java输入商品价格 求总价_Java题目:指导实现商品批发总金额的显示 求高手,求代码,求指教...

该楼层疑似违规已被系统折叠隐藏此楼查看此楼1.用户登录,输入用户名和密码,实现登录验证.2.验证通过后,显示批发商品的信息,包括商品名称和价格3.输入批发商品编号和数量,显示总金额。4.价格的显示都采用小数点前每隔三位一个逗号的形式。运行结果如下:请输入用户名: TOM请输入密码: 123登陆成功!*****************欢迎进入商品批发城*******************编号 商...

weixin_36377516的博客 4312

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

一篇文章让你学会Java之格式化输出

返回格式化后的字符串。直接输出格式化字符串到控制台。Formatter提供了更多的控制,可以用于自定义输出流。

Weiki的博客 3568

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

学习-Java顺序结构之无输入格式化输出求星期几

而 Java 中定义了一些字母前加“\”来表示常见的那些不能显示的 ASCII 字符,如 \0,\t,\n 等,就称为转义字符,因为后面的字符,都不是它本来的 ASCII 字符意思了。默认情况下,转换后会在字符串的左边添加空格以达到需要的长度,如果我们想在右边加入空格则应该使用负宽度(转换得到的字符串的宽度比设定的要长,宽度会被忽略)。我们看到输出的结果分别为 3 和 2,由此得出 % 和乘除的优先级是一样高的,谁在前面便先执行谁,其次为加减。// 第一步:声明 int 型变量 pre,值为一周的总天数。

千浔的博客 1606

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Java的格式化输出

System.out的print和println方法,可以向控制台输出不同类型的数据,可以满足程序调试信息的输出要求。在实际应用中,输出数据时,要求数据必须按照一定的格式输出,如数据精度要求,小数点后保留2位有效数字、按照规定的格式输出日期、按照表格方式输出数据等要求。 System.out的printf方法可以对数据进行格式化输出,printf方法在Java API 文档中声明如下: voi...

淡淡的宁静的博客 3377

java print 格式化输出_java 格式化输出方法

在javaSE5中推出了printf方法来输出文本到控制台,在java中现在有如下方法可以输出文本:1、System.out.println(、、、、)  //输出并换行2、System.out.format("%d,%f",1,1.1);    //格式化输出3、System.out.printf("%d,%f",1,1.1);     //格式化输出4、System.out.print(、、、...

weixin_33206743的博客 4375

Java如何格式化输出?

  在JavaSe5中,推出了C语言中printf()风格的格式化输出。这不仅使得控制输出的代码更加简单,同时也给与Java开发者对于输出格式与排列更大的控制能力。今天,我们开始学习Java中的格式化输出。 System.out.format() 由于内容比较简单,我们通过实例来加以说明。项目结构如下: ​ Java Se5引入的format方法可用于PrintStream或PrintWriter对象,其中也包括System.out对象。 package ...

java小白的博客 5322

java格式化输出

在做算法题时经常要格式化输出,在这里,我总结了一下java的格式化输出:使用方法:System.out.printf();数据类型    转化代码      举例                   格式化举例     转化后输出int d 512 "%6d" " 512" ...

龙之竹的博客 1569

java 的格式化输出

java 的格式化输出 如何控制java对字符串进行格式化输出? 1.示例 同c语言的 printf 函数, 代码: public class PrintFormat { public static void main(String[] args) { double d = 3.1415926; int count = 1; Sys...

说文科技,做有态度的研究。 1747

Java格式化输出Xml

Java中在格式化输出Xml时,需要dom4j-1.6.1.jar这个文件,读者可以自行在网上下载。 package com.zhj.creDbXml; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import org.dom4j.Document; impor

1万+

Java基础教程,第六讲,格式化输入输出

上一课我们留下一个思考题,StringBuilder效率为什么比String的效率高? 第四讲我们已经说过了,Java中没有内置String类型,而是在Java的类库中提供了一个基类,当直接使用String拼接字符串时,String会先创建一个StringBuilder实例,然后调用append()方法来实现拼接。当拼接较多时,就会产生大量的实例,占用内存,导致效率降低。 本机测试当循环1...

程序员补给栈 333

Java的格式化输出和输入实战

一格式化输出 1点睛 常用的转换代码如下: d:用于Java整型的十进制数。 f:浮动型。 s:字符串。 在%和转换代码之间可以插入一个整数来转换之后的值的宽度,即输出字符串的长度。默认情况下,转换后会在字符串的左边添加空格以达到需要的宽度(如果转换的字符串比设定宽度要长,宽度会被忽略)。在宽度之后可以插入一个小数点以及一个数值来指定转换后的double值保留的小数位数(精度)...

实践求真知 2033

Java中的代码格式化工具

代码格式化工具是一种软件,用于自动调整源代码的布局,使其更易读、维护,并符合预定的编码风格。这些工具通过应用一致的缩进、空格、换行等规则,确保代码在团队内保持统一的风格。无论你是刚刚开始学习Java编程的新手,还是经验丰富的开发者,使用代码格式化工具都是一个明智的选择。这不仅可以提高代码的可读性,还能提高团队的协作效率。在今天这个信息爆炸的时代,合理利用工具来简化工作流程,是每一个开发者的必备技能。好了,今天的分享就到这里,希望这篇文章对你有所帮助。如果你有任何问题或建议,欢迎在评论区留言。

weixin_46372265的博客 1821

java基础之格式化输出

在jdk SE5.0以后沿用了C语言库函数中的printf方法,例如调用System.out.printf("%8.2f",x);可以用8个字符的宽度和小数点后两个字符的精度去打印x。也就是说,打印输出一个空格和7个字符,如下所示: 3333.33 用printf也可以使用多个参数,例如:System.out.printf("Hello,%s.Next year,you'll be %d",name,age); 每一个以%字符开始的格式说明符都用相应的参数替换。格式说明符尾部的转换符将指示被格式化的数

qq_41720578的博客 1640

JAVA的数字与字符串 格式化输出

如果不使用格式化输出,就需要进行字符串连接,如果变量比较多,拼接就会显得繁琐 使用格式化输出,就可以简洁明了 %s 表示字符串 %d 表示数字 %n 表示换行 示例 : 格式化输出 public class Sder { public static void main(String[] args) { String name ="林某某"; int kill = ...

qq_43053196的博客 5560

java 格式化输出json_在JAVA中把JSON数据格式化输出到控制台

public class ForMatJSONStr {public static void main(String[] args) {String jsonStr = "{\"id\":\"1\",\"name\":\"a1\",\"obj\":{\"id\":11,\"name\":\"a11\",\"array\":[{\"id\":111,\"name\":\"a111\"},{\"id\...

weixin_27012987的博客 1229
上一篇: 哥,如何运用java取得某一链接网址中所有的链接网址并存储?然后我再调用HttpURLConnection判断链接有效性
下一篇: 求以下SQL语句怎么写
ability
博客等级 码龄14年 3粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值