自测代码(方法与面向对象的应用【求区间质数、求100个随机数中的最小数、阶乘、图书管理类的应用】)-2021-7-21

本文主要是介绍自测代码(方法与面向对象的应用【求区间质数、求100个随机数中的最小数、阶乘、图书管理类的应用】)-2021-7-21,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MyClass类

package com.qianfeng.day07;public class MyClass {//输出三角形的行数public void printTriangle(int n) {for (int i = 1; i <= n; i++) {for (int j = 0; j < 2*i-1; j++) {System.out.print("*");}System.out.println();}}//返回区间[left,right]中质数的个数public int primeNumber(int left, int right) {int number = 0;for (int i = left; i <= right; i++) {int j;for (j = 2; j < i; j++) {if (i%j == 0) {break;}}if (i == j) {number++;}}return number;}//返回100个随机数中的最小值public int randomNumber(int n) {int min;int[] number = new int[100];for (int i = 0; i < 100; i++) {number[i] = (int)(Math.random()*n+1);}min = number[0];for (int i = 0; i < number.length; i++) {if (number[i] < min) {min = number[i];}}return min;}//求一个数的阶乘public int factorial(int n) {int number = 1;for (int i = 1; i <= n; i++) {number = number * i;}return number;}
}

LibraryManager类

package com.qianfeng.day07;public class LibraryManager {String[] bookNames = new String[10];double[] price = new double[10];public LibraryManager() {this.bookNames[0] = "老人与海";this.price[0] = 32;this.bookNames[1] = "活着";this.price[1] = 27;this.bookNames[2] = "红与黑";this.price[2] = 21;this.bookNames[3] = "西游记";this.price[3] = 26;this.bookNames[4] = "水浒传";this.price[4] = 28;this.bookNames[5] = "三国演义";this.price[5] = 30;this.bookNames[6] = "红楼梦";this.price[6] = 36;this.bookNames[7] = "小王子";this.price[7] = 38;this.bookNames[8] = "悲惨世界";this.price[8] = 40;this.bookNames[9] = "巴黎圣母院";this.price[9] = 42;}//1.根据传入的书名查找某本书的价格并返回给用户(如果图书不存在则显示没有这本书)public double inquire(String bookName) {double price = 0;for (int i = 0; i < 10; i++) {if (bookName == this.bookNames[i]) {price = this.price[i];}}if (price == 0) {System.out.println("查无此书");}return price;}//2.向客户展示目前所有的图书信息public void printBook() {for(int i = 0; i < 10; i++) {System.out.println("第" + (i+1) + "本书为:" + this.bookNames[i] + ",价格为:" + this.price[i]);}}//3.显示单价最高的前3本书的信息(书名和价格)public void maxPrice() {double temp;//备份价格表double[] xprice = new double[10];for (int i = 0; i < xprice.length; i++) {xprice[i] = this.price[i];}//冒泡排序选出最大的三个数在数组最后for (int i = 0; i < 3; i++) {for (int j = 0; j < 10-1; j++) {if (xprice[i] > xprice[i+1]) {temp = xprice[i];xprice[i] = xprice[i+1];xprice[i+1] = temp;}}}System.out.println("价格最高的三本书信息如下:");//将最大的三个价格与原来价格表进行比较,选出其对应书籍for (int i = 9; i > 6; i--) {for (int j = 0; j < 10; j++) {if (xprice[i] == this.price[j]) {System.out.print("本书为:" + this.bookNames[j]);}}System.out.println(",价格为:" + xprice[i]);}}//4.根据传入的书名删除这本书,删除完成后显示一下最新的图书情况public void deleteBook(String bookName) {int index = 0;for (int i = 0; i < 10; i++) {if (bookName == this.bookNames[i]) {index = i;}}for (int i = index; i < 9; i++) {this.bookNames[i] = this.bookNames[i+1];this.price[i] = this.price[i+1];}for (int i = 0; i < 9; i++) {System.out.println(this.bookNames[i] + "价格为:" + this.price[i]);}}}

work类(测试类)

package com.qianfeng.day07;public class Work {public static void main(String[] args) {MyClass myClass = new MyClass();//输出三角形行数System.out.println("输入的行数是:5");myClass.printTriangle(5);System.out.println();//返回区间质数的个数System.out.println("区间是[1,100]");System.out.println("有:"+ myClass.primeNumber(1, 10) + "个质数");System.out.println();//返回一百个随机数的最小值System.out.println("随机数设置为:1000");System.out.print("最小的那个随机数为:");System.out.println(myClass.randomNumber(1000));System.out.println();//返回一个数的阶乘System.out.print("5!=");System.out.println(myClass.factorial(5));System.out.println("\n\n");//测试图书管理类LibraryManager libraryManager = new LibraryManager();System.out.print("查询的书是红与黑,价格为:");System.out.println(libraryManager.inquire("红与黑"));System.out.println();System.out.println("所有书籍信息为");libraryManager.printBook();System.out.println();libraryManager.maxPrice();System.out.println();System.out.println("删除的书籍为活着");libraryManager.deleteBook("活着");}}

这篇关于自测代码(方法与面向对象的应用【求区间质数、求100个随机数中的最小数、阶乘、图书管理类的应用】)-2021-7-21的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

利用c++判断水仙花数并输出示例代码

《利用c++判断水仙花数并输出示例代码》水仙花数是指一个三位数,其各位数字的立方和恰好等于该数本身,:本文主要介绍利用c++判断水仙花数并输出的相关资料,文中通过代码介绍的非常详细,需要的朋友可以... 以下是使用C++实现的相同逻辑代码:#include <IOStream>#include <vec

Python字符串处理方法超全攻略

《Python字符串处理方法超全攻略》字符串可以看作多个字符的按照先后顺序组合,相当于就是序列结构,意味着可以对它进行遍历、切片,:本文主要介绍Python字符串处理方法的相关资料,文中通过代码介... 目录一、基础知识:字符串的“不可变”特性与创建方式二、常用操作:80%场景的“万能工具箱”三、格式化方法

springboot+redis实现订单过期(超时取消)功能的方法详解

《springboot+redis实现订单过期(超时取消)功能的方法详解》在SpringBoot中使用Redis实现订单过期(超时取消)功能,有多种成熟方案,本文为大家整理了几个详细方法,文中的示例代... 目录一、Redis键过期回调方案(推荐)1. 配置Redis监听器2. 监听键过期事件3. Redi

基于SpringBoot实现分布式锁的三种方法

《基于SpringBoot实现分布式锁的三种方法》这篇文章主要为大家详细介绍了基于SpringBoot实现分布式锁的三种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、基于Redis原生命令实现分布式锁1. 基础版Redis分布式锁2. 可重入锁实现二、使用Redisso

Java 接口定义变量的示例代码

《Java接口定义变量的示例代码》文章介绍了Java接口中的变量和方法,接口中的变量必须是publicstaticfinal的,用于定义常量,而方法默认是publicabstract的,必须由实现类... 在 Java 中,接口是一种抽象类型,用于定义类必须实现的方法。接口可以包含常量和方法,但不能包含实例

线程池ThreadPoolExecutor应用过程

《线程池ThreadPoolExecutor应用过程》:本文主要介绍如何使用ThreadPoolExecutor创建线程池,包括其构造方法、常用方法、参数校验以及如何选择合适的拒绝策略,文章还讨论... 目录ThreadPoolExecutor构造说明及常用方法为什么强制要求使用ThreadPoolExec

自定义注解SpringBoot防重复提交AOP方法详解

《自定义注解SpringBoot防重复提交AOP方法详解》该文章描述了一个防止重复提交的流程,通过HttpServletRequest对象获取请求信息,生成唯一标识,使用Redis分布式锁判断请求是否... 目录防重复提交流程引入依赖properties配置自定义注解切面Redis工具类controller

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立

使用Redis实现会话管理的示例代码

《使用Redis实现会话管理的示例代码》文章介绍了如何使用Redis实现会话管理,包括会话的创建、读取、更新和删除操作,通过设置会话超时时间并重置,可以确保会话在用户持续活动期间不会过期,此外,展示了... 目录1. 会话管理的基本概念2. 使用Redis实现会话管理2.1 引入依赖2.2 会话管理基本操作

Java调用DeepSeek API的8个高频坑与解决方法

《Java调用DeepSeekAPI的8个高频坑与解决方法》现在大模型开发特别火,DeepSeek因为中文理解好、反应快、还便宜,不少Java开发者都用它,本文整理了最常踩的8个坑,希望对... 目录引言一、坑 1:Token 过期未处理,鉴权异常引发服务中断问题本质典型错误代码解决方案:实现 Token