水果管理系统

package 水果管理系统;import java.util.ArrayList;import java.util.List;
import java.util.Scanner;
//定义一个水果类,定义一个水果名以及水果价格属性
class Fruit {private String name;private double price;//定义一个全参构造器来实现水果信息初始化public Fruit(String name, double price) {this.name = name;this.price = price;}public String getName() {return name;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}@Overridepublic String toString() {return "ccc.水果管理系统.Fruit [name=" + name + ", price=" + price + "]";}
}public class AYL {//定义一个集合来保存水果信息private List<Fruit> fruits;//通过构造器来实现集合初始化public void AYL() {fruits = new ArrayList<>();}//添加水果信息。将传入的水果信息添加,通过集合的add方法添加到集合中public void addFruit(Fruit fruit) {fruits.add(fruit);System.out.println("水果已成功添加!");}//删除水果信息。通过要删除的具体水果的索引,然后判断水果索引是否在区间内,是的话通过集合的remove方法删除//由于集合是自动索引向前移动的,所以不需要像数组一样手动移动public void removeFruit(int index) {if (index >= 0 && index < fruits.size()) {fruits.remove(index);System.out.println("水果已成功删除!");} else {System.out.println("无效的索引!");}}//修改水果信息。通过要修改的索引位置以及新的价格信息,判断索引是否在区间内,在的话修改对应的水果信息,通过set方法修改public void modifyFruitPrice(int index, double newPrice) {if (index >= 0 && index < fruits.size()) {Fruit fruit = fruits.get(index);fruit.setPrice(newPrice);System.out.println("水果价格已成功修改!");} else {System.out.println("无效的索引!");}}//查询水果信息。首先判断水果集合是否为空,如果为空的话,直接提示水果列表为空,如果不为空的话,通过for each循环来打印集合信息public void displayAllFruits() {if (fruits.isEmpty()) {System.out.println("水果列表为空!");} else {for (Fruit fruit : fruits) {System.out.println(fruit);}}}public static void main(String[] args) {//初始化AYL类AYL system = new AYL();Scanner scanner = new Scanner(System.in);int choice = 0;//通过while循环实现主菜单循环while (true) {System.out.println("=====================");System.out.println("1. 添加水果");System.out.println("2. 删除水果");System.out.println("3. 修改水果价格");System.out.println("4. 查询所有水果");System.out.println("5. 退出");System.out.println("=====================");System.out.print("请输入数字操作选项:");choice = scanner.nextInt();//通过chioce的输入信息来选择具体执行哪一个方法switch (choice) {case 1:System.out.print("请输入水果名称:");String name = scanner.next();System.out.print("请输入水果价格:");double price = scanner.nextDouble();system.addFruit(new Fruit(name, price));break;case 2:System.out.print("请输入要删除的水果索引:");int removeIndex = scanner.nextInt();system.removeFruit(removeIndex);break;case 3:System.out.print("请输入要修改价格的水果索引:");int modifyIndex = scanner.nextInt();System.out.print("请输入新的价格:");double newPrice = scanner.nextDouble();system.modifyFruitPrice(modifyIndex, newPrice);break;case 4:system.displayAllFruits();break;case 5:System.out.println("退出程序!");scanner.close();System.exit(0);default:System.out.println("无效的选项!");break;}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/588266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL】数据库中为什么使用B+树不用B树

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; 数 据 库 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 B树的特点和应用场景&#xff1a; B树相对于B树的优势&#xff1a; 结论&#xff1a; 结语 我的其他博客 前言 在数据…

穿越时光的镜头:2023回顾与2024展望

前言 2023 年就像一本充满着惊喜和挑战的书籍&#xff0c;它的每一页都留下了我生活中不同的痕迹。回顾过去&#xff0c;我发现了许多意想不到的成长和启示&#xff0c;也体验了生活的起起伏伏。 这篇文章是对 2023 年的一个小小总结&#xff0c;也是对未来的一点期许。在这里…

【微服务】springboot整合skywalking使用详解

目录 一、前言 二、SkyWalking介绍 2.1 SkyWalking是什么 2.2 SkyWalking核心功能 2.3 SkyWalking整体架构 2.4 SkyWalking主要工作流程 三、为什么选择SkyWalking 3.1 业务背景 3.2 常见监控工具对比 3.3 为什么选择SkyWalking 3.3.1 代码侵入性极低 3.3.2 功能丰…

最优化方法Python计算:无约束优化应用——神经网络回归模型

人类大脑有数百亿个相互连接的神经元&#xff08;如下图(a)所示&#xff09;&#xff0c;这些神经元通过树突从其他神经元接收信息&#xff0c;在细胞体内综合、并变换信息&#xff0c;通过轴突上的突触向其他神经元传递信息。我们在博文《最优化方法Python计算&#xff1a;无约…

从实际工作情况,介绍嵌入式(MCU)软件开发常用(通用)工具

目录 前言 1、代码阅读及编辑工具&#xff08;VSCode、Understand&#xff09; 2、代码对比工具&#xff08;Beyond Compare&#xff09; 3、代码仓库相关工具&#xff08;Git、SVN、Tortoise&#xff09; 4、文本编辑器&#xff08;Notepad&#xff09; 5、电脑文件搜索工…

【LeetCode:2660. 保龄球游戏的获胜者 | 模拟】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

PAT 乙级 1046 划拳

划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为&#xff1a;每人口中喊出一个数字&#xff0c;同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和&#xff0c;谁就赢了&#xff0c;输家罚一杯酒。两人同赢或两人同输则继续下一轮&…

Vue前端异步方法

例子 // 确认验证码 const clickSureCodeasync()>{let reslut await UserSureCodeService(userInfo.value)console.log("异步后"reslut.data)if(reslut.code 0){ElMessage.success("邮箱验证成功")originEmail.valuereslut.value// 更改修改状态canc…

Python序列之集合

系列文章目录 Python序列之列表Python序列之元组Python序列之字典Python序列之集合&#xff08;本篇文章&#xff09; Python序列之集合 系列文章目录前言一、集合是什么&#xff1f;二、集合的操作1.集合的创建&#xff08;1&#xff09;使用{}创建&#xff08;2&#xff09;…

SpringBoot定时监听RocketMQ的NameServer

问题分析 自己在测试环境部署了RocketMQ&#xff0c;发现namesrv很容易挂掉&#xff0c;于是就想着监控&#xff0c;挂了就发邮件通知。查看了rocketmq-dashboard项目&#xff0c;发现只能监控Broker&#xff0c;遂放弃这一路径。于是就从报错的日志入手&#xff0c;发现最终可…

【MATLAB第87期】#源码分享 | 基于MATLAB的增量神经系统网络SFAM多输入单输出多分类预测模型

【MATLAB第87期】#源码分享 | 基于MATLAB的增量神经系统网络SFAM多输入单输出多分类预测模型 前言 SFAM是一种增量神经网络分类器。它是模糊ARTMAP&#xff08;FAM&#xff09;的一个简单而快速的版本。如果输入相同,FAM和SFAM的产出相同。 参考文献: [1] Kasuba, T. (1993)…

JavaScript 中 == 和 Object.is() 的区别

在 JavaScript 中&#xff0c; 是相等运算符&#xff0c;用于比较两个值是否相等。而 Object.is() 是一个方法&#xff0c;用于比较两个值是否完全相同。 区别如下&#xff1a; 数据类型比较&#xff1a; 运算符在比较两个值之前会进行类型转换&#xff0c;而 Object.is() 不…

【MMdetection】MMdetection从入门到进阶

基础环境安装 步骤 0. 从官方网站下载并安装 Miniconda。 步骤 1. 创建并激活一个 conda 环境。 conda create --name openmmlab python3.8 -y conda activate openmmlab步骤 2. 基于 PyTorch 官方说明安装 PyTorch。 pip install torch2.0.1 torchvision0.15.2 torchaudio…

mysqld_exporter使用

下载自己解压好 https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz在需要监控的数据库上执行 CREATE USER monit_test* IDENTIFIED BY Sfn4ZCHsK WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATI…

java基础之String、StringBuilder、StringBuffer的异同

目录 概述 String为何不可变&#xff0c;StringBuilder和StringBuffer为何可变 StringBuffer为何线程安全的&#xff0c;而StringBuilder为何非线程安全 三者性能分析 使用场景 概述 String、StringBuilder和StringBuffer都是用来处理字符串的类&#xff0c;底层都是通过ch…

【MySQL表的增删查改】

文章目录 前言1 Create1.1 单行数据 全列插入1.2 多行数据 指定列插入1.3 插入否则更新1.4 替换 2 Retrieve2.1 SELECT 列2.1.1 全列查询2.1.2 指定列查询2.1.3 查询字段为表达式2.1.4 为查询结果指定别名2.1.5 结果去重 2.2 WHERE 条件2.2.1 英语不及格的同学及英语成绩 ( &…

C++基础:指针数组和数组指针(大白话讲解)

指针数组&#xff1a;本质上是一个数组&#xff0c;数组中的每一个元素都是一个指针&#xff1b; 数组指针&#xff1a;本质上是一个指针&#xff0c;数组指针是一个指向数组的指针。 为了更直观的分析他们的区别&#xff0c;我举个例子&#xff1a; #include<iostream&g…

操作系统:可变分区管理

有作业序列&#xff1a;作业A要求42K&#xff1b;作业B要求27K&#xff0c;作业C要求22K&#xff0c;作业和空闲内存区如下图所示&#xff0c;请画出最佳适应算法空闲队列图&#xff0c;并分析最佳适应算法是否适合该作业系列。 答&#xff1a;最佳适应算法是按照空闲块由小到大…

【辐射场】3D Gaussian Splatting

三维高斯…喷喷 \, 3D Gaussian Splatting&#xff0c;下文简称3DGS&#xff0c;是好一段时间以来在三维内容创作和三维重建领域比较有热度的一项技术。 它属于基于图像的三维重建方法&#xff0c;意思就是你对现实物体或者场景拍照片&#xff0c;就能给你训练成一个场景模型&a…

C语言之整型提升

文章目录 1 有可能出现的问题2 产生以上问题的原因&#xff08;整型提升&#xff09;3 整型提升的过程4 整型提升示例5 总结 1 有可能出现的问题 代码如下 #include <stdio.h>int main () {int a -1;unsigned int b 1;if (a < b) {printf("a < b");}…