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
猜你喜欢
- 谈到 Java 的线程池最熟悉的莫过于 ExecutorService 接口了,jdk1.5 新增的 java.util.concurren
- 一、前言canal:阿里巴巴 MySQL binlog 增量订阅&消费组件https://github.com/alibaba/ca
- 1.jsch官方API查看地址(附件为需要的jar) http://www.jcraft.com/jsch/2.jsch简介 JSch(Ja
- ThreadLocal 看名字 就可以看出一点头绪来,线程本地。来看一下java对他的描述:该类提供线程本地变量。这些变量与它们的正常对应变
- springboot获取项目目录路径springboot部署后获取项目的路径//获取跟目录(绝对路径)File path = new Fil
- 引言在项目中,时间的使用必不可少,而java 8之前的时间api Date和Calander等在使用上存在着很多问题,于是,jdk1.8引进
- 目录概述准备工作使用概述springboot通常整合redis,采用的是RedisTemplate的形式,除了这种形式以外,还有另外一种形式
- 之前看过一句话,说的特别好。有人问阅读源码有什么用?学习别人实现某个功能的设计思路,提高自己的编程水平。是的,大家都实现一个功能,不同的人有
- 问题:Information:java: Errors occurred while compiling module &lsquo
- mybatis-plus作为mybatis的增强工具,简化了开发中的数据库操作。一旦遇到left join或right join的左右连接,
- 1.概览该教程中,我将向你展示:如何在测试时设置spring boot 日志级别。虽然我们可以在测试通过时忽略日志,但是如果需要诊断失败的测
- 一、前言最近自己在学习Spring boot的过程中开发了一个组件 multithreadpool-spring-boot-starter,
- “Java is still not dead—and people are starting to figure that out.”本教
- 背景环境已学习java基础,html,css,js,jquery,bootstrap,layui,maven,servlet和jsp,刚进入
- 问题之前一直使用Mybatis,最近尝试使用Mybatis-Plus,却在updateById登录成功后更新最近登录时间出现了问题,一般业务
- 一、分步骤集成1.1 整合连接池hikariCP介绍:HikariCP 是一个高性能的 JDBC 连接池组件,可以避免连接频繁建立、关闭的开
- 前言不积跬步无以至千里,不积小流,无以成江海在公司一般来说,都只会接触一些CRUD的业务,很多时候可能你想设计很多的代码结构,但是时间不允许
- strcpy函数详解如下1.函数介绍1.1.函数接口char * __cdecl strcpy(char * dst, const char
- 前言工作中使用mybatis时我们需要根据数据表字段创建pojo类、mapper文件以及dao类,并且需要配置它们之间的依赖关系,这样的工作
- java 并发线程个数的确定本文从控制变量的角度来谈决定线程个数的依据。模型很简单,在实际的生产环境中,情况肯定比下文要复杂的多。要充分的进