【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

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置