JAVA中,定义了一个物品集合,如何通过一个商品的编号得到该商品的所有信息。 5
定义了一个商品集合,有商品编号goodsId,商品名称name,商品价格price,商品单位util,商品数量num,现在想通过一个商品编号来查询一个商品的所有信息,例如...
定义了一个商品集合,有商品编号goodsId,商品名称name,商品价格price,商品单位util,商品数量num,现在想通过一个商品编号来查询一个商品的所有信息,例如查找商品编号为1001的,就输出商品1001的编号、名称、价格、单位、数量。该怎么实现?
展开
展开全部
首先你自己创建一个商品类,比如 class Goods{},然后在这个类里边定义这些属性,比如你的name,price等,然后分别实现他们的get、set方法,完了之后定义一个list。
比如:list<Goods> glist = new ArrayList<Goods>();
现在你可以创建商品并将其放入这个list集合中了。
比如:Goods good = new Goods();
good.setGoodsId("goodsId"); good.setName("goodsName"); ...
然后将good存入list中,glist.add(good);
然后我们再定义第二件商品,比如是一个键盘
good = new Goods(); good.setName("键盘");.....
同样我们再将其放入list中,glist.add(good);
此时glist中有两件商品,假设我们现在输出第二件商品的所有信息
System.out.println(glist.get(1).getGoodsId());
System.out.println(glist.get(1).getName);
.......
注意,第一件商品为get(0),下标和数组类似
比如:list<Goods> glist = new ArrayList<Goods>();
现在你可以创建商品并将其放入这个list集合中了。
比如:Goods good = new Goods();
good.setGoodsId("goodsId"); good.setName("goodsName"); ...
然后将good存入list中,glist.add(good);
然后我们再定义第二件商品,比如是一个键盘
good = new Goods(); good.setName("键盘");.....
同样我们再将其放入list中,glist.add(good);
此时glist中有两件商品,假设我们现在输出第二件商品的所有信息
System.out.println(glist.get(1).getGoodsId());
System.out.println(glist.get(1).getName);
.......
注意,第一件商品为get(0),下标和数组类似
展开全部
javabean思想
public static void main(String args[]) {
//模拟10个不重复的商品加入集合
HashSet<Product> data = new HashSet<>();
Random random = new Random();
for (int i = 0; i < 10; i++) {
int goodsId = random.nextInt(100);
boolean isAdded = data.add(new Product(goodsId, goodsId + "name", goodsId, "util", goodsId));
if (!isAdded) {
i--;
}
}
//如果知道一个id,得到所有信息?
//将这个data转化为map,键为id值为javabean
HashMap<Integer, Product> hashMap = new HashMap<>();
for (Product item : data) {
hashMap.put(item.goodsId, item);
}
//拿到id,get就行了
hashMap.get(??);
}
class Product {
/**
* 商品编号
*/
int goodsId;
/**
* 商品名称
*/
String name;
/**
* 商品价格
*/
double price;
/**
* 商品单位
*/
String util;
/**
* 商品数量
*/
double num;
public Product(int goodsId, String name, double price, String util, double num) {
this.goodsId = goodsId;
this.name = name;
this.price = price;
this.util = util;
this.num = num;
}
@Override
public boolean equals(Object obj) {
return this.goodsId == ((Product) obj).goodsId;
}
@Override
public String toString() {
return "Product{" +
"goodsId=" + goodsId +
", name='" + name + '\'' +
", price=" + price +
", util='" + util + '\'' +
", num=" + num +
'}';
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Class sp(){
private String id;
private String name;
private String price;
private String util;
private String num;
}
你说的集合是什么集合?下面循环集合 把集合中的 商品对象(sp)取出来和当前的id 1001判断就是了
private String id;
private String name;
private String price;
private String util;
private String num;
}
你说的集合是什么集合?下面循环集合 把集合中的 商品对象(sp)取出来和当前的id 1001判断就是了
追问
private LIst goodsList = null;
goodsList = new ArrayList();
goodsList.add(1,name,price);//这是添加的信息,编号:1,名字name 价格price 下面的类似
goodsList.add(2,name,price);
goodsList.add(3,name,price);
goodsList.add(4,name,price);
现在想通过查询编号,例如查询到的编号为3,然后输出编号为3的商品的编号3,名字name,价格price。是如何实现?
追答
循环判断就好了,
上面的你添加是不正确的,
private LIst goodsList = null;
goodsList = new ArrayList();
Goods g=new Goods();
g.setId(1);
g.setName("name");
g.setPrice("price");
goodsList.add(g);//这里添加进list集合必须是一个Goods对象,因为上面你已经声明了list必 //须是存放的是Goods类型 private LIst goodsList = null;
这里添加的时候要声明Goods对象 然后给对象赋值相关属性值 再添加到goodsList
然后你说的根据id查询name price 循环判断就好
for(Goods g:goodsList){
if(g.getId()==3){
system.out.println("对应3的名称:"+g.getName);
system.out.println("对应3的价格:"+g.getPrice);
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
package domain;
public class Test {
public int id;
public String name;
public double price;
public String util;
public int num;
public Test() {
super();
}
public Test(int id, String name, double price, String util, int num) {
super();
this.id = id;
this.name = name;
this.price = price;
this.util = util;
this.num = num;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
public String getUtil() {
return util;
}
public int getNum() {
return num;
}
public static void main(String[] args) {
Test test2=new Test(1,"lili",25,"元",10);
System.out.println("name="+test2.getName()+",price="+test2.getPrice()+",num="+test2.getNum()+",util="+test2.getUtil());
}
}
public class Test {
public int id;
public String name;
public double price;
public String util;
public int num;
public Test() {
super();
}
public Test(int id, String name, double price, String util, int num) {
super();
this.id = id;
this.name = name;
this.price = price;
this.util = util;
this.num = num;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
public String getUtil() {
return util;
}
public int getNum() {
return num;
}
public static void main(String[] args) {
Test test2=new Test(1,"lili",25,"元",10);
System.out.println("name="+test2.getName()+",price="+test2.getPrice()+",num="+test2.getNum()+",util="+test2.getUtil());
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先纠正一下你的描述:"定义了一个商品集合",不能这么说,应该是一个实体类,里面包含了goodsId,name,price,util,num.
你想产寻id=1001的商品,你应该掌握数据库SQL + Java连接数据库部分代码.
SQL: select goodsId,name,price,util,num. from goods(表名) where id = 1001 ;表的字段与实体类对应起来.
怎么连接数据库.你去网上找,太多了.
你想产寻id=1001的商品,你应该掌握数据库SQL + Java连接数据库部分代码.
SQL: select goodsId,name,price,util,num. from goods(表名) where id = 1001 ;表的字段与实体类对应起来.
怎么连接数据库.你去网上找,太多了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询