求高手用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;
  }
  }
  
 我的运行结果如图:














基于深度学习的文字识别与检测算法研究 基于深度学习的文字识别与检测算法研究 1. 背景介绍 1.1 文字识别与检测的重要性 在当今信息时代,文字作为人类交流和传递信息的主要载体,无处不在。从日常生活中的路牌、广告牌,到办公场所的文件、合同,再到互联网上的网页、图片等 阅读详情

相关推荐

【代码审计】RuoYi定时任务漏洞:从SQL注入到RCE的攻防演变

本文深入剖析了RuoYi框架定时任务模块从早期版本无校验到引入黑白名单机制,再到被组合利用实现RCE的完整漏洞演变过程。文章详细分析了SQL注入与定时任务功能结合导致的远程代码执行漏洞,并总结了代码审计与安全开发的核心要点,为开发者提供了重要的安全参考。

yellow的专栏 698

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

如题,上代码: 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

LightGBM学习笔记

LightGB学习笔记1. lightgbm概述1.1 lightgbm介绍1.2 lightgbm和xgboost对比2 .直方图算法及改进2.1 直方图算法2.2 直方图算法改进2.2.1 GOSS算法3.树的生长策略4.系统设计5. 实战 lightgbm是基于boosting的学习框架,使用的是基于决策树的学习算法,具有更快的训练速度、更低的内存使用、更高的正确率、并且能够支持并行化学习,可以用来处理大规模数据,本文主要是针对学习视频https://www.bilibili.com/video/BV

一一xi的博客 3304

Java常用类作业

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

qq_45267354的博客 993

html python mysql交互_干货!Python与MySQL数据库的交互实战

安装PyMySQL库如果你想要使用python操作MySQL数据库,就必须先要安装pymysql库,这个库的安装很简单,直接使用pip install pymysql;假如这种方式还是安装不上,就用如下链接找一个合适的安装包,进行安装,这个就不细说了。https://www.lfd.uci.edu/~gohlke/pythonlibs/使用Python连接MySQL数据库1)六个常用的连接参数参数...

weixin_31043555的博客 1559

使用Simulink进行基于IIR滤波器的设计与稳定性分析仿真

IIR滤波器的稳定性与其系统函数的极点位置密切相关。如果所有极点都位于Z平面的单位圆内,则该滤波器是稳定的;否则,滤波器将是不稳定的。在设计IIR滤波器时,确保其稳定性对于避免输出信号发散至关重要。明确你的系统需求,比如输入信号类型(如正弦波)、采样率、IIR滤波器的设计参数(如滤波器类型、阶数、截止频率等)。假设我们需要设计一个低通IIR滤波器,用来去除高于500Hz的所有频率成分,保留低于500Hz的信号成分。采样率为8kHz。

xiaoheshang_123的博客 150

Java基础之常用类的理解

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

weixin_62922379的博客 1183

YOLOv8改进系列:RepVGG重参数化结构——训练多分支,推理单路,极致提速

本文将详细介绍如何将RepVGG的重参数化思想融入到YOLOv8的骨干网络中,实现一种训练时多分支、推理时单路的改进版YOLOv8。我们将提供完整的代码实现、详细的原理讲解,并在COCO数据集和自定义数据集上进行充分的实验验证。

YOLO 200

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

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

qq_44122803的博客 1376

【机器学习|评价指标8】混淆矩阵(Confusion Matrix)、Cohen‘s Kappa 系数、详解,平均交并比(mIoU)、列联表(Contingency Table)附代码。

【机器学习|评价指标8】混淆矩阵(Confusion Matrix)、Cohen's Kappa 系数、详解,平均交并比(mIoU)、列联表(Contingency Table)附代码。

2401_89898861的博客 1424

Qt C++ HTTP 调用通义千问大模型 X 学术论文润色工具(SCI 格式适配)

请求地址:`https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation`;| Windows | 打包时携带 `Qt6Network.dll`/`libcrypto-1_1-x64.dll` 等依赖;| Linux | 安装 `libssl-dev` 和 `libcurl4-openssl-dev`;| API 调用失败 | 检查 API-KEY 是否有效;

寒寒豆豆软件公司的博客 104

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

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

weixin_36377516的博客 4312

别把 ABAP 时间戳当数字算:TIMESTAMP / TIMESTAMPL 的语义、正确用法与项目级避坑指南

ABAP时间戳使用指南与常见陷阱 摘要:ABAP中的时间戳(TIMESTAMP/TIMESTAMPL)本质是UTC时间的数字表示,而非累计秒数。正确用法包括:直接比较时间戳顺序、使用CONVERT TIME STAMP进行时区转换、通过CL_ABAP_TSTMP计算时间差。关键注意事项:绝对不要对时间戳本身进行数学运算,否则会导致非法时间值。实际项目中需特别注意SAP Gateway的ETag处理、跨时区系统集成和CDS视图中的时间戳使用场景,避免将本地时间误存为UTC时间戳或在云迁移时产生时区问题。(14

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 342

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

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

Weiki的博客 3568

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

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

千浔的博客 1606

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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、付费专栏及课程。

余额充值