第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

從 Java 列表中刪除一條記錄

從 Java 列表中刪除一條記錄

溫溫醬 2023-05-10 13:16:39
這是我從列表中刪除記錄的代碼,但我似乎無法讓它工作。有什么建議么?public void deleteRecord (Scanner in){    int delete = 0;    showRecords();    System.out.println("Enter the number in the list to delete:");    delete = in.nextInt();    delete = delete -1;    for (int i = delete; i < this.size; i++)    {        this.collection[i] = this.collection[i + 1];        this.collection[size] = null;        this.size--;        System.out.println("Record deleted successfully");        showRecords();    }    System.out.println("Please enter a number in the list to delete");}
查看完整描述

2 回答

?
守候你守候我

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊

你減少了size太多次。它應(yīng)該只在你移動(dòng)循環(huán)中的元素后完成一次for。


還要注意for循環(huán)條件。由于您在循環(huán)內(nèi)部使用,i + 1您只能循環(huán)直到i < size - 1或者您將嘗試訪問數(shù)組大小之外的元素。


int toDelete = in.nextInt(); // assume it's between 0 and size - 1

for (int i = toDelete; i < size - 1; i++) {

    collection[i] = collection[i + 1];

collection[size] = null;

size--;


查看完整回答
反對(duì) 回復(fù) 2023-05-10
?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

在這種情況下,我想您有義務(wù)使用數(shù)組操作來完成工作,


不過,就個(gè)人而言,我會(huì)通過使用完全避免循環(huán)System.arraycopy():


System.arraycopy(this.collection, deletionIndex, this.collection, deletionIndex + 1,

? ? ? ? this.size - (deletionIndex + 1));

this.size--;

較短的代碼往往意味著較少的錯(cuò)誤,并且該特定代碼至少與原始循環(huán)一樣清晰,至少對(duì)我而言。此外,如果沒有循環(huán),就沒有機(jī)會(huì)將不屬于循環(huán)的語句放入循環(huán)中,這是原始代碼的主要問題。


查看完整回答
反對(duì) 回復(fù) 2023-05-10
  • 2 回答
  • 0 關(guān)注
  • 210 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)