java怎么把信息放进数组当中,并且使用这些信息。谢谢了。就是做小项目的时候比如我有一堆商品信息:
java怎么把信息放进数组当中,并且使用这些信息。谢谢了。就是做小项目的时候比如我有一堆商品信息:name(名称)number(编号)type(类型)price(价格)d...
java怎么把信息放进数组当中,并且使用这些信息。谢谢了。就是做小项目的时候比如我有一堆商品信息:name(名称) number(编号) type(类型) price(价格) describe(描述)等信息,在一个类当中,我需要用数组来存放?并且在主类的各方法可以添加,查询,修改这些商品信息。就是用面向对象的做法那种。是不是数组引用或是把商品信息放到一个类当中,用构造器传参,和get,set方法然后再录入到数组什么的. 谢谢了非常感谢哈!我就是研究了很久,懂不懂。
要求具体是这样的,比如我有很多商品:一个是材料类商品 一个消耗类商品 一个是普通商品,他们都有名称 编号 类型 价格等信息。但是材料类有一个还有描述信息 消耗类还有一个品质和等级的信息。我在把这些商品录入到数组中,可以以后再其他方法中查询,删除,修改这些数组信息。我需要建三个类一个普通商品类,一个材料商品类,一个消耗商品类。我是不是需要材料和消耗继承普通商品,然后就不需要再都有的名称,编号 ,类型价格初始化,材料和消耗只添加他们多的那些属性。
请大家,帮我写一个演示,我初学者,研究了很久这会头很晕,实在感激不尽了。 展开
要求具体是这样的,比如我有很多商品:一个是材料类商品 一个消耗类商品 一个是普通商品,他们都有名称 编号 类型 价格等信息。但是材料类有一个还有描述信息 消耗类还有一个品质和等级的信息。我在把这些商品录入到数组中,可以以后再其他方法中查询,删除,修改这些数组信息。我需要建三个类一个普通商品类,一个材料商品类,一个消耗商品类。我是不是需要材料和消耗继承普通商品,然后就不需要再都有的名称,编号 ,类型价格初始化,材料和消耗只添加他们多的那些属性。
请大家,帮我写一个演示,我初学者,研究了很久这会头很晕,实在感激不尽了。 展开
2个回答
展开全部
代码仅供参考!
Goods:
/**
* 普通商品
* @author Administrator
*/
public class Goods {
//构造函数
public Goods(String name,String number,Integer type,Double price){
this.name = name;
this.number = number;
this.type = type;
this.price = price;
}
@Override
public String toString(){//重写toString
return this.name+"|"+this.number+"|"+this.type+"|"+this.price;
}
private String name;//名称
private String number;//编号
private Integer type;//类型
private Double price;//价格
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
}
MaterialGoods:
/**
* 材料商品
* @author Administrator
*/
public class MaterialGoods extends Goods {
private String describe;//描述
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
public MaterialGoods(String name, String number, Integer type, Double price, String describe) {
super(name, number, type, price);
this.describe = describe;
}
@Override
public String toString(){//重写toString
return super.getName()+"|"+super.getNumber()+"|"+super.getType()+"|"+super.getPrice()+"|"+this.describe;
}
}
ConsumeGoods:
/**
* 消费商品
* @author Administrator
*/
public class ConsumeGoods extends Goods {
private String quality;//品质
private String level;//等级
public String getQuality() {
return quality;
}
public void setQuality(String quality) {
this.quality = quality;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public ConsumeGoods(String name, String number, Integer type, Double price, String quality, String level) {
super(name, number, type, price);
this.quality = quality;
this.level = level;
}
@Override
public String toString(){//重写toString
return super.getName()+"|"+super.getNumber()+"|"+super.getType()+"|"+super.getPrice()+"|"+this.quality+"|"+this.level;
}
}
GoodsTest:
import java.util.ArrayList;
import java.util.List;
/**
* 测试类
* @author Administrator
*/
public class GoodsTest {
public static void main(String[] args) {
/**
* 此处的代码Goods pro1 = new Goods()
* 如果有用到数据库
* 可以更改为你需要的JDBC类型
*/
//生成Goods
Goods pro1 = new Goods("普通商品","n001",1,1.5);
Goods pro2 = new MaterialGoods("材料商品","n002",1,2.5,"材料商品");
Goods pro3 = new ConsumeGoods("消耗商品","n003",1,3.5,"消耗品质","消耗等级");
//修改一个Goods
//此处我们修改pro1的价格1.5->11.5
pro1.setPrice(11.5);
//new List存放Product
List<Goods> proList = new ArrayList<Goods>();
proList.add(pro1);
proList.add(pro2);
proList.add(pro3);
for(Goods pro : proList){//循环消费Product
System.out.println(pro);
/**
* 此处代码可以更改为你需要做的处理
* 具体获取属性方法如下
* pro.getName();
* pro.getNumber();
* pro.getType();
* pro.getPrice();
*/
}
}
}
更多追问追答
追问
追答
你这个需求设计到swing的界面了,对java-swing这一块不这么了解,不好意思。楼主可以使用map的结构(key-value)来存储数据,key用商品名(或编号),value用数量,获得道具时先判断map里是否存在,存在则+1,不存在则-1。至于类的设计,需求已经描述的很清楚了,5个属性(名称、类型、编号、价格、描述),两个方法(销毁、鉴定)。
展开全部
从面向对象的角度,你不觉得应该把这些信息看成一个类的属性吗?根本不需要数组。
简单的例子:
public class goods {
private String ID;
private String name;
private String price;
//添加get和set方法
public String getID() {
return ID;
}
public void setID(String iD) {
ID = iD;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
//带参数的构造方法
public goods(String iD, String name, String price) {
super();
ID = iD;
this.name = name;
this.price = price;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询