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

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

在由文件 java 生成的數(shù)組列表中查找子字符串

在由文件 java 生成的數(shù)組列表中查找子字符串

Helenr 2022-01-12 16:04:12
我有一個(gè)文本文件,我從中創(chuàng)建了一個(gè)數(shù)組列表。每行 = 一個(gè)集合元素。有沒(méi)有辦法在該行中找到特定單詞,如果找到,將該行輸出到控制臺(tái)?現(xiàn)在我的那部分代碼看起來(lái)有點(diǎn)像這樣:protected static void FindBook() {    System.out.print("Author's name: ");    String neededauthor = sc.nextLine();    for (int k=0; k<=books.size(); k++) {        if (books.get(k).contains(neededauthor))             System.out.println(books.get(k));     }}但它給了我Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0更新:我已經(jīng)嘗試修復(fù)它,現(xiàn)在異常消失了,但它也不起作用。輸入名稱后,該方法停止工作并且什么也不做,它應(yīng)該輸出該行。我不明白這是怎么回事
查看完整描述

3 回答

?
收到一只叮咚

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

正如其他答案已經(jīng)說(shuō)過(guò)的那樣,訪問(wèn)不存在的索引時(shí)會(huì)出現(xiàn)問(wèn)題:


books.get(books.size())

索引從0到size()-1,因此size()超出范圍。


您可以使用這樣的 foreach 循環(huán)完全避免索引并使代碼更簡(jiǎn)單:


for (Book book: books)

    if (book.contains(neededauthor)) 

        System.out.println(book);

我假設(shè)的類型books是一些類型的集合Book。


查看完整回答
反對(duì) 回復(fù) 2022-01-12
?
犯罪嫌疑人X

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

我認(rèn)為您的代碼看起來(lái)正確,但有一個(gè)問(wèn)題。

for (int k=0; k<=books.size(); k++) {

如果k從 0 開始,它不能等于books.size(),因?yàn)檫@意味著它將for比 中的元素多經(jīng)過(guò)一次循環(huán)books.size()。

嘗試將其更改為 for (int k = 0; k < books.size(); k++) {

除此之外,如果您的 ArrayList 中books有值,那么您的代碼應(yīng)該可以工作。


查看完整回答
反對(duì) 回復(fù) 2022-01-12
?
子衿沉夜

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

用這部分k<books.size()代替k<=books.size()它應(yīng)該只有不到。不小于等于。還將您的方法名稱更改為,findBook()因?yàn)樗蛔裱?Java 駱駝表示法


查看完整回答
反對(duì) 回復(fù) 2022-01-12
  • 3 回答
  • 0 關(guān)注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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