概述
作业要求:
创建商品类Goods
属性 注意考虑商品属性的数据类型
商品名称 name
商品价格 price
商品描述 description
商品库存 stock
商品分类 category
商品状态 state
成员方法 show
作用打印商品对象信息
构造方法
setter/getter方法
创建测试类Demo
静态变量声明商品数组, 初始长度为10
静态变量控制台输入
添加商品方法1 - addGoods1() 使用构造方法初始化商品对象数据 注意: 数组长度不够了要提示去扩容
控制台接受用户输入商品信息
使用全参构造方法构造商品对象
商品对象存入商品数组中
添加商品方法 2 - addGoods2() 使用设值器set方法初始化商品对象数据 注意: 数组长度不够了要提示去扩容
控制台接受用户输入商品信息
使用无参构造方法构造商品对象
使用商品对象的设值器set方法存入商品数据到商品对象中
商品对象存入商品数组中
遍历商品方法 - display() 注意: 遇到数组中null的元素要判断, 防止出空指针异常
遍历商品数组, 取出每个商品对象
调用对象的show()方法打印商品信息
商品数组扩容方法
main方法
使用do.while循环打印菜单
1. 添加商品1
2. 添加商品2
3. 查看商品
4. 商品数组扩容
5. 退出
接受用户输入的菜单编号
使用switch.case 判断用户选择的菜单, 调用对应的方法
答:
先写商品类Goods
先新建包package game02
创建Goods类
package game02;
public class Goods {
//商品名称
private String name;
//商品价格
private double price;
//商品描述
private String description;
//商品库存
private int stock;
//商品分类
private String category;
//商品状态
private String state;//商品展示的show方法
public void show(){
System.out.println(this.name+"的信息:");
System.out.println("价格:"+this.price+"元");
System.out.println("描述:"+this.description);
System.out.println("库存:"+this.stock);
System.out.println("分类:"+this.category);
System.out.println("状态:"+this.state);
System.out.println("----------------------------------");
}//无参构造方法
public Goods() {
}//有参构造方法
public Goods(String name, double price, String description, int stock, String category, String state) {
this.name = name;
this.price = price;
this.description = description;
this.stock = stock;
this.category = category;
this.state = state;
}//Getter和Setter方法
public String getName() {
return name;
}public void setName(String name) {
this.name = name;
}public double getPrice() {
return price;
}public void setPrice(double price) {
this.price = price;
}public String getDescription() {
return description;
}public void setDescription(String description) {
this.description = description;
}public int getStock() {
return stock;
}public void setStock(int stock) {
this.stock = stock;
}public String getCategory() {
return category;
}public void setCategory(String category) {
this.category = category;
}public String getState() {
return state;
}public void setState(String state) {
this.state = state;
}
}
创建Demo类
package game02;
import java.util.Scanner;
public class Demo {
//静态变量声明商品数组, 初始长度为10
static Goods[] goodsArr = new Goods[10];
//静态变量控制台输入
static Scanner sc = new Scanner(System.in);//main方法
//使用do.while循环打印菜单
//1. 添加商品1
//2. 添加商品2
//3. 查看商品
//4. 商品数组扩容
//5. 退出
//接受用户输入的菜单编号
//使用switch.case 判断用户选择的菜单, 调用对应的方法
public static void main(String[] args) {
int choice = 0;
do {
System.out.println("***********欢迎进入商品系统**************");
System.out.println("1.添加商品1");
System.out.println("2.添加商品2");
System.out.println("3.查看商品");
System.out.println("4.商品数组扩容");
System.out.println("5.退出");
System.out.println("请选择:");
choice = sc.nextInt();
switch (choice) {
case 1:
System.out.println("**************添加商品1*************");
addGoods1();
break;
case 2:
System.out.println("**************添加商品2*************");
addGoods2();
break;
case 3:
System.out.println("**************查看商品*************");
display();
break;
case 4:
System.out.println("**************商品数组扩容*************");
dilatation();
break;
}
} while (choice != 5);
System.out.println("bye~ 商品系统退出");
}//添加商品方法1 - addGoods1() 使用构造方法初始化商品对象数据 注意: 数组长度不够了要提示去扩容
//控制台接受用户输入商品信息
//使用全参构造方法构造商品对象
//商品对象存入商品数组中
public static void addGoods1() {
if (goodsArr[goodsArr.length - 1] != null) {
System.out.println("你的商品栏位已满!请扩容");
return;
}
System.out.println("请输入商品的名称:");
String name = sc.next();
System.out.println("请输入商品的价格:");
double price = sc.nextDouble();
System.out.println("请输入商品的描述:");
String description = sc.next();
System.out.println("请输入商品的库存:");
int stock = sc.nextInt();
System.out.println("请输入商品的分类:");
String category = sc.next();
System.out.println("请输入商品的状态:");
String state = sc.next();
Goods goods = new Goods(name, price, description, stock, category, state);//商品对象存入商品数组中,找到数组中第一个不为null的位置存储
for (int i = 0; i < goodsArr.length; i++) {
if (goodsArr[i] == null) {
goodsArr[i] = goods;
break;
}
}
System.out.println(name + "进货成功!");
}//添加商品方法 2 - addGoods2() 使用设值器set方法初始化商品对象数据 注意: 数组长度不够了要提示去扩容
//控制台接受用户输入商品信息
//使用无参构造方法构造商品对象
//使用商品对象的设值器set方法存入商品数据到商品对象中
//商品对象存入商品数组中
public static void addGoods2() {
if (goodsArr[goodsArr.length - 1] != null) {
System.out.println("你的商品栏位已满!请扩容");
return;
}
System.out.println("请输入商品的名称:");
String name = sc.next();
System.out.println("请输入商品的价格:");
double price = sc.nextDouble();
System.out.println("请输入商品的描述:");
String description = sc.next();
System.out.println("请输入商品的库存:");
int stock = sc.nextInt();
System.out.println("请输入商品的分类:");
String category = sc.next();
System.out.println("请输入商品的状态:");
String state = sc.next();
Goods goods = new Goods();
goods.setName(name);
goods.setPrice(price);
goods.setDescription(description);
goods.setStock(stock);
goods.setCategory(category);
goods.setState(state);
//商品对象存入商品数组中,找到数组中第一个不为null的位置存储
for (int i = 0; i < goodsArr.length; i++) {
if (goodsArr[i] == null) {
goodsArr[i] = goods;
break;
}
}
System.out.println(name + "进货成功!");}
//遍历商品方法 - display() 注意: 遇到数组中null的元素要判断, 防止出空指针异常
//遍历商品数组, 取出每个商品对象, 调用对象的show()方法打印商品信息
public static void display() {
//遍历goodsArr数组,如果当前元素为null,输出空栏位,不为空是、,输出栏位
for (int i = 0; i < goodsArr.length; i++) {
if (goodsArr[i] == null) {
System.out.println((i + 1) + "号栏位:空");
} else {
goodsArr[i].show();
}
}
}//商品数组扩容方法
public static void dilatation() {
Goods[] newgoodsArr = new Goods[goodsArr.length + 10];
for (int i = 0; i < goodsArr.length; i++) {
newgoodsArr[i] = goodsArr[i];
}
goodsArr = newgoodsArr;
System.out.println("恭喜你扩容商品栏位成功!");
}}
宠物大作战
http://t.csdn.cn/q8Rpu
最后
以上就是激昂大炮为你收集整理的【对象练习】java开发商品查看系统作业要求:答:的全部内容,希望文章能够帮你解决【对象练习】java开发商品查看系统作业要求:答:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复