JAVA基于数组实现的商品信息查询功能示例
作者:阳沐之 发布时间:2021-10-31 11:47:23
本文实例讲述了JAVA基于数组实现的商品信息查询功能。分享给大家供大家参考,具体如下:
综合一维数组和二维数组的相关知识,以及数组排序的多种算法来实现商品信息查询的功能。
假设在仓库系统中,每件商品都有 3 个库存信息,分别是入库量、出库量和当前库存量。定义一个一维数组来存储 5 件商品的名称,并定义一个二维数组来存储这 5 件商品的 3 个库存信息。用户可以根据商品名称查询该商品的所有库存,也可以查看某个类别库存下数量小于 100 的商品名单,并将该类别的所有库存量按从低到高的顺序排列。
具体的代码如下:
import java.util.Arrays;
import java.util.Scanner;
public class Test28
{
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
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
来源:https://blog.csdn.net/qq_35385687/article/details/90080410


猜你喜欢
- 实践过程效果代码public partial class Form1 : Form{ public Form1()
- 前言在Java System#exit 无法退出程序的问题一文末尾提到优雅停机的一种实现方案,要借助Shutdown Hook进行实现,本文
- public static Expression<Func<T, bool>> GetSearchExpressio
- 一、关于idea中Maven的位置idea自带一个maven,其路径大致如下C:/java/IntelliJ IDEA 2020.1/plu
- 一、AQS介绍队列同步器AbstractQueuedSynchronizer(简称AQS),AQS定义了一套多线程访问共享资源的同步器框架,
- 这个类(我的是Activity中)继承SensorEventListener接口先获取传感器对象,再获取传感器对象的类型//获取传感器管理对
- AsyncTask什么是AsyncTaskAsyncTask是一个轻量级的异步任务类,它可以在线程池中执行后台任务,然后把执行的进度和结果传
- 1. 前言今天开始我们来一步步窥探它是如何工作的。我们又该如何驾驭它。本篇将通过 Spring Boot 2.x 来讲解 Spring Se
- 问题:1.线程 wait()方法使用有什么前提?2. 多线程之间如何进行通信?3. Java 中 notify 和 notifyAll 有什
- 区别一如果Mybatis Plus是扳手,那Mybatis Generator就是生产扳手的工厂。通俗来讲——MyBatis:一种操作数据库
- 1.概述本文中,我将向你介绍Spring Cloud Netflix Turbine。它将多个Hystrix Metrics Streams
- 话不多说,请看下面//C# 代码int year = DateTime.Now.Year;int month = DateTime.Now.
- 概述引入多态是继封装、继承之后,面向对象的第三大特性。 生活中,比如跑的动作,小猫、小狗和大象,跑起来是不一样的。再比如飞的动作,昆虫、鸟类
- import java.io.ByteArrayInputStream; import java.io.FileOutputSt
- 前言为了减少日志频繁打印带来的性能影响,线上环境设置的日志级别一般都相对较高。而当出现生产问题需要排查的时候,可能需要适当降低日志级别(例如
- 在做业务开发时,遇到了一个事务不起作用的问题。大概流程是这样的,方法内部的定时任务调用了一个带事务的方法,失败后事务没有回滚。查阅资料后,问
- 水仙花数:水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:370=33+73+00;371=33+73+13,370、371
- 重写addResourceHandlers映射文件路径在看一个博客源码发现页面的图片所映射的地址在SpringBoot静态资源文件夹下找不到
- 一、简介在上篇 SpringBoot 整合 ElasticSearch 文章中,我们详细的介绍了 ElasticSearch 的索引和文档的
- 一、显式锁什么是显式锁?由自己手动获取锁,然后手动释放的锁。有了 synchronized(内置锁) 为什么还要 Lock(显示锁)?使用