亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將列表中的重復數據與輸入數據進行比較

將列表中的重復數據與輸入數據進行比較

梵蒂岡之花 2023-06-28 19:45:23
我想使用我輸入的數據檢查列表中的重復 ID,然后增加列表中的 qty 變量。如果是新數據,它會添加一個新列表。這是我的代碼public void addBarang(Barang barang){    int id_barang = barang.getId();    if(this.list.isEmpty())    {         list.add(barang);    }    else    {        for(int i=0;i<list.size();i++)        {            if(list.get(i).getId() != id_barang)            {                list.add(barang);                System.out.println("Added");                break;            }            if(list.get(i).getId() == id_barang)            {                int new_qty = list.get(i).getQty()+barang.getQty();                list.get(i).setQty(new_qty);            }        }     }}即使我輸入新數據,它總是會增加舊數據的數量,并且不會添加新數據(基本上總是以“else”部分結束)。輸入數據的代碼Gudang gudang1 = new Gudang(1,1);System.out.println("ID: ");int id = input.nextInt();System.out.println("Jumlah: ");int qty = input.nextInt();System.out.println("Nama: ");String name = input.next();Barang barang = new Barang(id,name,qty);gudang1.addBarang(barang);類別項目public class Barang {public static int id;private String name;private int qty;public Barang(int id, String name, int qty) {    this.id = id;    this.name = name;    this.qty = qty;}public Barang(){};public int getId() {    return id;}public String getName() {    return name;}public int getQty() {    return qty;}public void setId(int id) {    this.id = id;}public void setName(String name) {    this.name = name;}public void setQty(int qty) {    this.qty = qty;}@Overridepublic String toString() {    return "Barang{" + "id=" + id + ", name=" + name + ", qty=" + qty + '}';}
查看完整描述

3 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

請檢查舊數據和新數據之間的 id 是否重復。

如果您的 id 是唯一的,那么您可以利用 Map 并將 id 作為鍵,將 barang 對象作為值。每當您成功查找對象的地圖增量數量字段時。


查看完整回答
反對 回復 2023-06-28
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

起初我猜我會改變:

if(list.get(i).getId() != id_barang)

到:

if(list.get(i).getId() != barang.getId())

也許 id_barang 與 barang 對象中存儲的 id 不同。


查看完整回答
反對 回復 2023-06-28
?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

嘗試使用 .equals 來比較數據是否存在于列表中



查看完整回答
反對 回復 2023-06-28
  • 3 回答
  • 0 關注
  • 196 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號