Java商品信息查询

使用一维数组和二维数组的相关知识,以及数组排序的多种算法来实现商品信息查询的功能。

假设在仓库系统中,每件商品都有 3 个库存信息,分别是入库量、出库量和当前库存量。定义一个一维数组来存储 5 件商品的名称,并定义一个二维数组来存储这 5 件商品的 3 个库存信息。用户可以根据商品名称查询该商品的所有库存,也可以查看某个类别库存下数量小于 100 的商品名单,并将该类别的所有库存量按从低到高的顺序排列。

代码如下:

import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner input = new Scanner(System.in);String[] products = { "瓶子", "毛巾", "水杯", "牙膏", "香皂" };int[][] amounts = { { 50, 80, 90 }, { 40, 80, 78 }, { 50, 45, 789 }, { 100, 685, 55 }, { 898, 754, 63 },{ 99, 478, 685 } };System.out.println("*************** 库存系统 ***************");System.out.println("请输入要查询库存信息的商品名称:");String name = input.next();for (int i = 0; i < products.length; i++) {if (products[i].equals(name)) {System.out.println("商品【" + products[i] + "】的库存信息如下:");System.out.println("入库 \t 出库 \t 库存");for (int j = 0; j < 3; j++) {System.out.print(amounts[i][j] + "\t");}break;}}System.out.println("\n*************** 查询库存不足 100 的商品 ***************");System.out.println("1.入库 \t2.出库 \t3.库存");System.out.println("请输入序号:");int no = input.nextInt();int[] temp = new int[5]; // 定义数组,存储该类别的所有商品System.out.println("该类别下数量较少的商品有:");for (int i = 0; i < 5; i++) {temp[i] = amounts[i][no - 1]; // 将指定类别的所有商品名称存储到temp数组中if (amounts[i][no - 1] < 60) {System.out.print(products[i] + "\t");}}// 使用冒泡排序,将商品的库存量以从低到高的顺序排列for (int i = 1; i < temp.length; i++) {for (int j = 0; j < temp.length - i; j++) {if (temp[j] > temp[j + 1]) {int x = temp[j];temp[j] = temp[j + 1];temp[j + 1] = x;}}}System.out.println("\n该类别的商品库存信息从低到高的排列如下:");for (int i = 0; i < temp.length; i++) {System.out.print(temp[i] + "\t");}}
}

上例中,分别定义了一个一维数组和一个二维数组,用于存储商品的名称和对应的 3 个库存信息。接着根据名称可以查看该商品的库存信息,也可以查找某个库存中数量小于 100 的商品名称。最后,对指定的库存进行冒泡排序并输出。

运行程序,执行结果如下所示。

*************** 库存系统 ***************
请输入要查询库存信息的商品名称:
水杯
商品【水杯】的库存信息如下:
入库   出库   库存
50 45 789
*************** 查询库存不足 100 的商品 ***************
1.入库  2.出库  3.库存
请输入序号:
1
该类别下数量较少的商品有:
瓶子 毛巾 水杯
该类别的商品库存信息从低到高的排列如下:
40 50 50 100 898

在这里插入图片描述

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

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

相关文章

openwrt dhcp 无法获取ip_电脑的 ip 是怎么来的呢?我又没有配置过

来源 | 苦逼的码农作者 | 帅地对于我们平时上网的电脑的 ip 是如何来的呢&#xff1f;一种简单的方法就是我们自己来配置了显然&#xff0c;这里有两种配置方式&#xff0c;一种是自动获取 ip 地址&#xff0c;一种是我们手动来设置&#xff0c;我相信大部分人都是通过自动获取…

线性回归 —— python

目录 一、基本概念 二、概念的数学形式表达 三、确定w和b 1.读取或输入数据 2.归一化、标准化 2.1 均值 2.2 归一化 2.3 标准化 3.求解w和b 1.直接解方程 2.最小二乘法&#xff08;least square method&#xff09;求解&#xff1a; 4. 评估回归模型 四、sklearn中…

审查元素找不到创建的元素_香奈儿除了珍珠,还有哪些你不知道的经典元素?答案在原文中找...

Chanel曾经说过&#xff1a;“没有珍珠的女人&#xff0c;不算是女人”珍珠是Coco永远的标志无论白天还是夜晚也无论她穿着运动服还是毛衣男装裤甚至在她人生最后的一段日子珍珠饰品都如影随形。BUT&#xff01;你能相信&#xff1f;对珍珠如此看重的Coco竟然卖的大部分珍珠是人…

Java @Override注解

Java 中 Override 注解是用来指定方法重写的&#xff0c;只能修饰方法并且只能用于方法重写&#xff0c;不能修饰其它的元素。它可以强制一个子类必须重写父类方法或者实现接口的方法。 使用 Override 注解示例代码如下&#xff1a; public class Person {private String nam…

博弈论 —— python

目录 1.简介 2.算法原理 3.实例分析 1.各参数初始化 2.计算期望与实际期望 3.博弈过程 4.绘图 完整代码 1.简介 博弈论又被称为对策论(Game Theory)既是现代数学的一个新分支&#xff0c;也是运筹学的一个重要学科。 博弈论主要研究公式化了的激励结构间的相互作用。是研…

android应用程序 多少钱_关于APP开发你最想了解的事,开发一个APP多少钱?

当我们在进行APP开发&#xff0c;最关注的问题一定是APP开发的价格问题&#xff0c;而作为软件开发行业的从业人员&#xff0c;经常会遇到这样的情况&#xff1a;“别说这么多&#xff0c;你只要告诉我开发一个软件多少钱就行了”。郑州APP开发公司的确&#xff0c;无论我们买什…

cv2.imread()返回none时应如何解决

如果你通过cv2.imred读取图片的路径中含有中文&#xff0c;并且造成这个错误的话&#xff0c;那么主要是因为路径中还有中文造成的&#xff0c;解决方式请参考如下&#xff1a; import cv2 import numpy as np # 读取中文路径 def cv_imread(Path):cv_imgcv2.imdecode(np.from…

Java @Deprecated注解

Java 中 Deprecated 可以用来注解类、接口、成员方法和成员变量等&#xff0c;用于表示某个元素&#xff08;类、方法等&#xff09;已过时。当其他程序使用已过时的元素时&#xff0c;编译器将会给出警告。 使用 Deprecated 注解示例代码如下&#xff1a; Deprecated public…

mvc 扫描二维码跳转内部指定页面_开源神器:一个二维码,让文件传输不设限!...

大家好&#xff0c;我是小 G。今天给大家推荐一个在前不久火遍 GitHub 的开源项目&#xff1a;QRCP。从项目的命名你们应该就能大致猜测出来&#xff0c;这款神器的主要作用&#xff0c;就是能通过指定二维码&#xff0c;快速完成文件的传输功能。项目作者是来自意大利的一位小…

K-means聚类 —— matlab

目录 1.简介 2.算法原理 3.实例分析 3.1 读取数据 3.2 原理推导K均值过程 3.3 自带kmeans函数求解过程 完整代码 1.简介 聚类是一个将数据集中在某些方面相似的数据成员进行分类组织的过程&#xff0c;聚类就是一种发现这种内在结构的技术&#xff0c;聚类技术经常被称为…

Java @SuppressWarnings注解

J2SE提供的最后一个注解是SuppressWarnings。该批注的作用是给编译器一条指令&#xff0c;告诉它对被批注的代码元素内部的某些警告保持静默。 SuppressWarnings注解允许您选择性地取消特定代码段&#xff08;即&#xff0c;类或方法&#xff09;中的警告。其中的想法是当您看…

数据线给电脑联网是什么原理_物联网孵化的产物——条码扫描器

一、什么是物联网&#xff1f;物联网的概念由凯文阿什顿(Kevin Ashton)于1999年被提出&#xff0c;即Internet of Things(IOT)&#xff0c;也称为Web of Things。根据阿什顿的想法&#xff0c;计算机最终能够在没有人工干预的情况下&#xff0c;自主产生及收集数据&#xff0c;…

灰色关联法 —— matlab

目录 1.简介 2.算法详解 2.1 数据标准化 2.2 计算灰色相关系数 2.3 计算灰色关联度系数 3.实例分析 3.1 读取数据 3.2 数据标准化 3.3 绘制 x1,x4,x5,x6,x7 的折线图 3.4 计算灰色相关系数 完整代码 1.简介 对于两个系统之间的因素&#xff0c;其随时间或不同对象而…

灰色关联与TOPSIS法 —— matlab

目录 1.简介 2.算法详解 2.1 指标正向化及标准化 2.2 找到最大最小参考向量 2.3 计算与参考向量的相关系数 2.4 求评分 3.实例分析 3.1 读取数据 3.2 数据标准化 3.3 得到最大最小参考行 3.4 与最大值的灰色相关系数 3.5 与最小值的灰色相关系数 3.6 计算综合评分 …

Java @SafeVarargs注解

在介绍 SafeVarargs 注解用法之前&#xff0c;先来看看如下代码&#xff1a; public class HelloWorld {public static void main(String[] args) {// 传递可变参数&#xff0c;参数是泛型集合display(10, 20, 30);// 传递可变参数&#xff0c;参数是非泛型集合display("…

mmap函数_Linux内存映射mmap原理分析

一直都对内存映射文件这个概念很模糊&#xff0c;不知道它和虚拟内存有什么区别&#xff0c;而且映射这个词也很让人迷茫&#xff0c;今天终于搞清楚了。。。下面&#xff0c;我先解释一下我对映射这个词的理解&#xff0c;再区分一下几个容易混淆的概念&#xff0c;之后&#…

灰色关联法 —— python

目录 1.简介 2.算法详解 2.1 数据标准化 2.2 计算灰色相关系数 2.3 计算灰色关联度系数 3.实例分析 3.1 读取数据 3.2 数据标准化 3.3 绘制 x1,x4,x5,x6,x7 的折线图 3.4 计算灰色相关系数 完整代码 1.简介 对于两个系统之间的因素&#xff0c;其随时间或不同对象而变…

arraylist线程安全吗_Java中的集合和线程安全

通过Java指南我们知道Java集合框架(Collection Framework)如何为并发服务&#xff0c;我们应该如何在单线程和多线程中使用集合(Collection)。话题有点高端&#xff0c;我们不是很好理解。所以&#xff0c;我会尽可能的描述的简单点。通过这篇指南&#xff0c;你将会对Java集合…

Java @FunctionalInterface注解

FunctionalInterface 就是用来指定某个接口必须是函数式接口&#xff0c;所以 FunInterface 只能修饰接口&#xff0c;不能修饰其它程序元素。 函数式接口就是为 Java 8 的 Lambda 表达式准备的&#xff0c;Java 8 允许使用 Lambda 表达式创建函数式接口的实例&#xff0c;因此…

灰色关联与TOPSIS法 —— python

目录 1.简介 2.算法详解 2.1 指标正向化及标准化 2.2 找到最大最小参考向量 2.3 计算与参考向量的相关系数 2.4 求评分 3.实例分析 3.1 读取数据 3.2 数据标准化 3.3 得到最大最小参考行 3.4 与最大值的灰色相关系数 3.5 与最小值的灰色相关系数 3.6 计算综合评分…