把自己的每个做的项目记录下来,我相信这个日积月累的话会是一个非常不错的珍藏。关于这个商城管理系统,刚开始是利用数组来做,现在自己利用对象的对象数组来做。
1.直接创建一个商城商品的类Goods(商品)直接上代码。
package bean;
//
public class Goods {
//定义商品id
private int id;
//定义商品名字
private String name;
商品价格
private double price;
//定义数量
private int sum;
public Goods(int id, String name, double price, int sum) {
//调用构造函数,初始化对象
super();
//输入id不能为0
if(id<0){
System.out.print("输入为负不对,请重新输入!");
}else
{
this.id = id;
}
this.name = name;
//输入价格不能小于等于0
if(price<=0){
System.out.print("输入为负不对,请重新输入!");
}else{
this.price = price;
}
// 输入数量不能小于等于0;
if(sum<=0){
System.out.print("输入为负不对,请重新输入!");
}else{
this.sum = sum;
}
}
//以下是对变量初始化,和构造函数初始化一样的
public int getId() {
return id;
}
public void setId(int id) {
if(id<0)
{
System.out.print("输入为负不对,请重新输入!");
}else
{
this.id = id;
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
if(price<=0){
System.out.print("输入为负不对,请重新输入!");
}else
{
this.price = price;
}
}
public int getSum() {
return sum;
}
public void setSum(int sum) {
if(sum<=0){
System.out.print("输入为负不对,请重新输入!");
}else
{
this.sum = sum;
}
}
}
2.创建一个数组工具类,包括对商品进行增加,删除,改动,查询。单独创建一个工具类,方便使用
package ArrayUti;
import java.util.Scanner;
import bean.Goods;
public class Array {
// z商品增加功能 返回值类型为Good类类型的数组Good[],同时返回一个对象为Goods类型
public static Goods[] add(Goods[] arr,Goods goods)
{
//首先定义一个新数组长度在原数组的长度上+1
Goods[] arr1=new Goods[arr.length+1];
//遍历传入的数组,并将原数组的对象地址传递给新数组中
for(int i=0;i<arr.length;i++){
arr1[i]=arr[i];
}
//将新增加的对象放在新对象的末尾
arr1[arr.length]=goods;
//将新数组返回给主函数
return arr1;
}
//商品减少功能 返回值类型为Good类类型的数组Good[],传入要找的商品的id
public static Goods[] shanchu(Goods[] arr,int id)
{
//首先定义一个新数组长度在原数组的长度上-1
Goods[] arr1=new Goods[arr.length-1];
//定义一个角标index用来记录要删除的数组
int index=0;
//遍历原数组
for(int i=0;i<arr.length;i++){
//找到该id的商品
if(arr[i].getId()==id){
//拿出它的角标
index=i;
System.out.print("i"+index);
}
}
//遍历原数组
for(int i=0;i<arr.length;i++)
{
//如果原来商品的数量就为0的时候
if(arr.length==0){
//直接输出商品为空,输入错误,返回空的新数组
System.out.print("商品为空,输入错误");
return arr1;
}
//如果有一个商品的时候
else if(arr.length==1){
//因为删除就没有了,所以直接返回为空新数组
return arr1;
}
//如果商品大于1的时候,可以直接将要删除的这个角标的商品不传递给新数组,将它不显示
else if(arr.length>1){
//将该角标前面的商品的直接传递给新数组
if(i<index)
{
arr1[i]=arr[i];
//将该角标面的商品的直接传递给新数组
}else if(i>index)
{
arr1[i]=arr[i];
}
}
}
//返回新数组
return arr1;
}
//商品修改功能 返回值类型为Good类类型的数组Good[],传入要查看的商品的id
public static Goods[] up(Goods[] arr,int id)
{
//定义一个变量为了下面进行查看商品具体各项内容做选择
int um=0;
Scanner sc=new Scanner(System.in);
//遍历数组,找到要查看的商品
for(int i=0;i<arr.length;i++)
{
//找到了该商品
if(arr[i].getId()==id){
//具体要删除的内容
System.out.println("1.修改id 2.修改name 3.修改price 4.修改数量");
//设置一个循环,进行相关的选择
while(true){
um=sc.nextInt();
//可以
switch(um)
{
case 1:
// 情况1是改id
int a=sc.nextInt();
arr[i].setId(a);
return arr;
case 2:
// 情况2是改名字
String b=sc.next();
arr[i].setName(b);
return arr;
case 3:
// 情况3是改价格
double c=sc.nextDouble();
arr[i].setPrice(c);
return arr;
case 4:
int d=sc.nextInt();
// 情况4是改数量
arr[i].setSum(d);
return arr;
default:
System.out.println("输入不正确");
break;
}
}
//如果没有找到,直接输出
}else{
System.out.println("没有找到");
}
}
//没有找到返回一个数组
return arr;
}
// 商品查看查看功能
public static void chakan(Goods[] arr,int id)
{
// 商品查看查看功能
for(int i=0;i<arr.length;i++)
{
//
if(arr[i].getId()==id)
{
System.out.println(arr[i].getId());
System.out.println(arr[i].getName());
System.out.println(arr[i].getPrice());
System.out.println(arr[i].getSum());
}
}
}
}
// 首先基地
package Test;
import java.util.Scanner;
import ArrayUti.Array;
import bean.Goods;
//定义一个测试类,
public class Tset1 {
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
//定义id ,名字 价格 数量,用来输入对象
int id;
String name;
double price;
int sum;
//创建一个Good[]的数组用来储存Goods商品对象
Goods[] arr=new Goods[0];
System.out.println("欢迎进入商城管理系统!");
//创建一个while循环,进行用户人性化选择
while(true){
System.out.println("1.增加商品2.删除商品3.修改商品4.查看商品5.退出");
int num=sc.nextInt();
//进入具体要选择的地方
switch(num)
{
//第一个是增加对象
case 1:
System.out.print("请输入商品id");
id=sc.nextInt();
System.out.print("请输入商品名字");
name=sc.next();
System.out.print("请输入商品价格");
price=sc.nextDouble();
System.out.print("请输入商品数量");
sum=sc.nextInt();
//创建对象
Goods goods=new Goods(id, name, price, sum);
//调用函数
arr=Array.add(arr, goods);
System.out.println("添加成功");
break;
case 2:
System.out.print("请输入要删除的商品id");
id=sc.nextInt();
arr=Array.shanchu(arr,id);
System.out.print("删除成功");
break;
case 3:
System.out.print("请输入要修改的商品id");
id=sc.nextInt();
Array.up(arr,id);
break;
case 4:
System.out.print("请输入要查看的商品id");
id=sc.nextInt();
Array.chakan(arr,id);
System.out.print("修改成功");
break;
case 5:
System.out.print("谢谢使用");
return;
default:
break;
}
}
}
}
还有一些没有实现的小细节,比如输入的id不能以前都有的,所以需要判别等等