有人能帮帮我吗?我有一个问题,我有一些与客户,卖家和产品的集合。我已经制作了一个GUI,我可以输入卖家,客户和产品数据,例如:name,addres,ID和其他东西。然后我们可以使用以前的所有数据构建销售。
问题如下,我想做一种报告(可能只是印刷销售),其中我可以看到每个卖家的销售数量。
我一直在试用这段代码:
Object name = jcbSeller.getSelectedItem();
String nameSeller = (String) name;
System.out.println(nameSeller);
Sale selectedSale = null;
Seller selectedSeller = null;
for(Sale sale : Collection.getSales())
{
selectedSale = sale;
for(Seller seller : Collection.getSellers())
{
selectedSeller = seller;
String name2 = selectedSeller.getName();
if(nameSeller.equals(name2))
{
jtxaSale.setText(selectedSale.toString());
}
else
{
System.out.println("There is an error");
}
}
}
我将每个卖家的名字放在JComboBox中,然后我会检查是否有销售。然后我将JComboBox的名称与卖家名单中包含的卖家名称进行比较。最后我在控制台打印销售。但它只打印了我做过的第一次销售,如果我更换卖家,它会打印相同的销售。
我不知道我是否解释了这个问题,我是这方面的新手。希望您能够帮助我。如果你想要更多的代码我会把它。感谢
答案 0 :(得分:0)
我怀疑您的问题是由于每个卖家的每次销售都在循环,而没有两者之间的参考。您最终会覆盖为每次销售重复设置的价值
...
if(nameSeller.equals(name2))
{
jtxaSale.setText(selectedSale.toString());
System.out.println("Adding selectedSale ("+ selectedSale.toString() + ") for selectedSeller ("+selectedSeller.toString()+")");
}
else
{
System.out.println("There is an error");
}
尝试此操作,看看打印是否符合您的要求。