java怎么把信息放进数组当中,并且使用这些信息。谢谢了。就是做小项目的时候比如我有一堆商品信息:

java怎么把信息放进数组当中,并且使用这些信息。谢谢了。就是做小项目的时候比如我有一堆商品信息:name(名称)number(编号)type(类型)price(价格)d... java怎么把信息放进数组当中,并且使用这些信息。谢谢了。就是做小项目的时候比如我有一堆商品信息:name(名称) number(编号) type(类型) price(价格) describe(描述)等信息,在一个类当中,我需要用数组来存放?并且在主类的各方法可以添加,查询,修改这些商品信息。就是用面向对象的做法那种。是不是数组引用或是把商品信息放到一个类当中,用构造器传参,和get,set方法然后再录入到数组什么的. 谢谢了非常感谢哈!我就是研究了很久,懂不懂。
要求具体是这样的,比如我有很多商品:一个是材料类商品 一个消耗类商品 一个是普通商品,他们都有名称 编号 类型 价格等信息。但是材料类有一个还有描述信息 消耗类还有一个品质和等级的信息。我在把这些商品录入到数组中,可以以后再其他方法中查询,删除,修改这些数组信息。我需要建三个类一个普通商品类,一个材料商品类,一个消耗商品类。我是不是需要材料和消耗继承普通商品,然后就不需要再都有的名称,编号 ,类型价格初始化,材料和消耗只添加他们多的那些属性。

请大家,帮我写一个演示,我初学者,研究了很久这会头很晕,实在感激不尽了。
展开
 我来答
qinpeng100423
2015-09-18 · TA获得超过254个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:62.4万
展开全部

代码仅供参考!

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();
     */
}
    }

}
更多追问追答
追问

实在感谢你哈。带我找到了前进的道路。为了感谢你,我会把这个问题悬赏分提高。我还想问一个问题: 要求是建一个背包,有30个格子,3排10行。这个背包可以存放这些商品信息,也可以在背包里面修改,删除,整理(排序吧?)等功能。我就想问一下,这三十个格子可以存放这些商品的功能怎么写呢,是否是用二维数组?具体该怎么做呢。

——由于追问有字数限制,所以我图片显示了一些字。不好意思哈,麻烦了。

追答
你这个需求设计到swing的界面了,对java-swing这一块不这么了解,不好意思。楼主可以使用map的结构(key-value)来存储数据,key用商品名(或编号),value用数量,获得道具时先判断map里是否存在,存在则+1,不存在则-1。至于类的设计,需求已经描述的很清楚了,5个属性(名称、类型、编号、价格、描述),两个方法(销毁、鉴定)。
百度网友fb6754510f
2015-09-18 · TA获得超过289个赞
知道小有建树答主
回答量:356
采纳率:80%
帮助的人:142万
展开全部

从面向对象的角度,你不觉得应该把这些信息看成一个类的属性吗?根本不需要数组。

简单的例子:

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;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式