【Java基础】评委打分、超市收银管理【案例】

2024-02-18 13:59

本文主要是介绍【Java基础】评委打分、超市收银管理【案例】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

💟作者简介:大家好呀!我是路遥叶子,大家可以叫我叶子哦!❣️    
📝个人主页:【路遥叶子的博客】
🏆博主信息:四季轮换叶,一路招摇胜!


        专栏

       【Jav基础】

       【数据结构-Java语言描述】

🐋希望大家多多支持😘一起进步呀!~❤️
🌈若有帮助,还请【关注点赞收藏】,不行的话我再努力努力呀!💪
————————————————
⚡版权声明:本文由【路遥叶子】原创、在CSDN首发、需要转载请联系博主。
🍁想寻找共同成长的小伙伴,请点击【Java全栈开发社区】

目录

🐋评委打分

🐋超市收银管理(V3)

 🌲 知识讲解—多位补0操作

🌲 超市收银管理—代码实现

嘿,朋友!今天的干货你填满了吗?赶紧试试检验检验自己吧!

如果文章对您有帮助,就拿起小手赶紧给博主点赞💚评论❤️收藏💙 一下吧~~~赶紧动起来,让我们一起加油学习吧! 


💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚

🐋评委打分

题干:在编程竞赛中,有6个评委为参赛的选手打分,打分的分数范围为0-100的整数分。

选手的最后得分规则为:

去掉一个最高分,再去掉一个最低分,

其余4个分数的平均值就是选手最终分数。(不考虑小数部分)

打印结果如下:

今日(20xx-xx-xx)6位评委的分数分别为:93、24、54、78、99、69

去掉一个最高分99、去掉一个最低分24

最终得分为:73.5分

建议日期补0

分析:

  1. 定义6个Int变量保存随机数
  2. 随机数范围 0~100  包含0,包含100
  3. 最终分数 = (6个数的和-最高分-最低分)/4.0
  4. 设置年:Year+1900 ,设置月: month+1
  5. 补0:   x<=9?”0”+x:x+”” ;

代码实现:

public static void main(String[] args) {//1、数据准备//1.1、定义int变量保存评委分、最高分、最低分int p1,p2,p3,p4,p5,p6,max=Integer.MIN_VALUE,min=Integer.MAX_VALUE;//1.2、定义随机数变量Random r = new Random();//1.3、定义变量保存最终得分double finalScore;//1.4、定义变量保存日期Date d = new Date();//1.5、定义变量保存拼接后的日期字符串String dateStr="";//1.6、定义字符串,保存最终展示的所有内容String result="";//2、数据运算//2.1、生成6个随机分数保存到评分中p1 = r.nextInt(101);p2 = r.nextInt(101);p3 = r.nextInt(101);p4 = r.nextInt(101);p5 = r.nextInt(101);p6 = r.nextInt(101);//System.out.println(p1+"\t"+p2+"\t"+p3+"\t"+p4+"\t"+p5+"\t"+p6);//2.2、计算最高分max = max>=p1?max:p1;max = max>=p2?max:p2;max = max>=p3?max:p3;max = max>=p4?max:p4;max = max>=p5?max:p5;max = max>=p6?max:p6;//System.out.println(max);//2.3、计算最低分min = min<=p1?min:p1;min = min<=p2?min:p2;min = min<=p3?min:p3;min = min<=p4?min:p4;min = min<=p5?min:p5;min = min<=p6?min:p6;//System.out.println(min);//2.4、计算最终得分finalScore = (p1+p2+p3+p4+p5+p6-max-min)/4.0;//System.out.println(finalScore);//2.5、计算年月日字符串dateStr+=d.getYear()+1900+"-";dateStr+=(d.getMonth()+1)<=9?"0"+(d.getMonth()+1)+"-":(d.getMonth()+1)+"-";dateStr+=d.getDate()<=9?"0"+d.getDate():d.getDate()+"";//System.out.println(dateStr);//2.6、拼接最终展示效果result+="今日("+dateStr+")6位评委的分数分别为:"+p1+"、"+p2+"、"+p3+"、"+p4+"、"+p5+"、"+p6+"\r\n";result+="去掉一个最高分"+max+"、去掉一个最低分"+min+"\r\n";result+="最终得分为:"+finalScore+"分";//3、结果展示System.out.println(result);
}

💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚

🐋超市收银管理(V3)

1)需求说明

 模拟真实购物逻辑,以下述图片为需求原型,根据不同购物物品完成购物小票内容打印到控制台。

 🌲 知识讲解—多位补0操作

两位数补0:  x<=9?"0"+x:x+"";

多位数补0:代码实现

public static void main(String[] args) {//多位补0//不足6位 补0int r = 9;//String result1;//两种补0方式:int (不建议,繁琐)//10000~99999   补一个0//1000~9999 补两个0//100~999 补三个0//10~99 补四个0//0~9 补五个0result1 = (r>=10000&&r<=99999)?"0"+r:((r>=1000&&r<=9999)?"00"+r:((r>=100&&r<=999)?"000"+r:((r>=10&&r<=99)?"0000"+r:((r>=0&&r<=9)?"00000"+r:r+""))));System.out.println(result1);System.out.println("-----------------");//两种补0方式:StringString str = "599999";//.length() ==5   补1个0//.length() ==4   补2个0//.length() ==3   补3个0//.length() ==2   补4个0//.length() ==1   补5个0String result = str.length()==5?"0"+str:(str.length()==4?"00"+str:(str.length()==3?"000"+str:(str.length()==2?"0000"+str:(str.length()==1?"00000"+str:str))));System.out.println(result);
}

🌲 超市收银管理—代码实现

public static void main(String[] args) {//1、----展示所有商品信息//1.0、定义Random、Scanner变量Random r = new Random();//接收数字Scanner sc1 = new Scanner(System.in);//接收字符串Scanner sc2 = new Scanner(System.in);//1.1、定义变量,保存商品信息String pid1,pid2,pid3,pname1,pname2,pname3;double price1,price2,price3;int num1,num2,num3;//1.2、控制台信息录入System.out.println("\t\t欢迎进入超市收银管理V3");System.out.println("首先,请输入所有的商品信息:");System.out.println("请输入第一个商品的名称:");pname1 = sc2.nextLine();System.out.println("请输入第一个商品的售价:");price1=sc1.nextDouble();System.out.println("请输入第二个商品的名称:");pname2 = sc2.nextLine();System.out.println("请输入第二个商品的售价:");price2=sc1.nextDouble();System.out.println("请输入第三个商品的名称:");pname3 = sc2.nextLine();System.out.println("请输入第三个商品的售价:");price3=sc1.nextDouble();//1.3、pid编号生成pid1=r.nextInt(100000)+"";pid2=r.nextInt(100000)+"";pid3=r.nextInt(100000)+"";pid1= pid1.length()==5?"0"+pid1:(pid1.length()==4?"00"+pid1:(pid1.length()==3?"000"+pid1:(pid1.length()==2?"0000"+pid1:(pid1.length()==1?"00000"+pid1:pid1))));pid2= pid2.length()==5?"0"+pid2:(pid2.length()==4?"00"+pid2:(pid2.length()==3?"000"+pid2:(pid2.length()==2?"0000"+pid2:(pid2.length()==1?"00000"+pid2:pid2))));pid3= pid3.length()==5?"0"+pid3:(pid3.length()==4?"00"+pid3:(pid3.length()==3?"000"+pid3:(pid3.length()==2?"0000"+pid3:(pid3.length()==1?"00000"+pid3:pid3))));//1.4、第一次数据展示System.out.println("编号\t\t品名\t\t\t售价");System.out.println(pid1+"\t\t"+pname1+"\t\t"+price1);System.out.println(pid2+"\t\t"+pname2+"\t\t"+price2);System.out.println(pid3+"\t\t"+pname3+"\t\t"+price3);//2、----计算并展示小票信息//2.0、定义日期Date d = new Date();String dateStr = "";//2.1、定义变量,保存商品信息,保存统计信息,定义Scanner变量double count1,count2,count3,total;int totalNum;//2.2、接收商品购买数量System.out.println("请您输入"+pid1+"购买数量");num1=sc1.nextInt();System.out.println("请您输入"+pid2+"购买数量");num2=sc1.nextInt();System.out.println("请您输入"+pid3+"购买数量");num3=sc1.nextInt();//2.3、计算数据count1 = price1*num1;count2 = price2*num2;count3 = price3*num3;total=count1+count2+count3;totalNum = num1+num2+num3;//2.4、拼接年月日、时分秒dateStr+=(d.getYear()+1900)+"-";dateStr+=((d.getMonth()+1)<=9?"0"+(d.getMonth()+1):(d.getMonth()+1))+"-";dateStr+=(d.getDate()<=9?"0"+d.getDate():d.getDate())+" ";dateStr+=(d.getHours()<=9?"0"+d.getHours():d.getHours())+":";dateStr+=(d.getMinutes()<=9?"0"+d.getMinutes():d.getMinutes())+":";dateStr+=d.getSeconds()<=9?"0"+d.getSeconds():d.getSeconds();//2.4、展示System.out.println("\t\t欢  迎  光  临");System.out.println("\t\t编号\t\t品名\t\t售价\t\t数量\t\t金额");System.out.println("-\t-\t-\t-\t-\t-\t-\t-\t");System.out.println("\t\t"+pid1+"\t\t"+pname1+"\t"+price1+"\t\t\t"+num1+"\t\t\t"+count1);System.out.println("\t\t"+pid2+"\t\t"+pname2+"\t"+price2+"\t\t\t"+num2+"\t\t\t"+count2);System.out.println("\t\t"+pid3+"\t\t"+pname3+"\t"+price3+"\t\t\t"+num3+"\t\t\t"+count3);System.out.println("-\t-\t-\t-\t-\t-\t-\t-\t");System.out.println("\t\t3 项商品\t\t共计:"+totalNum+"件");System.out.println("\t\t总计:"+total);System.out.println("\t\t"+dateStr);System.out.println("凭此小票换取发票!");
}

嘿,朋友!今天的干货你填满了吗?赶紧试试检验检验自己吧!

如果文章对您有帮助,就拿起小手赶紧给博主点赞💚评论❤️收藏💙 一下吧~~~赶紧动起来,让我们一起加油学习吧! 

这篇关于【Java基础】评委打分、超市收银管理【案例】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/721376

相关文章

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提