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

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

Java不會(huì)在雙逗號(hào)“格式錯(cuò)誤的行”上崩潰

Java不會(huì)在雙逗號(hào)“格式錯(cuò)誤的行”上崩潰

catspeake 2022-06-04 15:41:11
我手頭的任務(wù)是能夠根據(jù)地址中的文本文件處理行,并將它們分類(lèi)為各自的類(lèi)別,“東”、“西”、“百老匯”、“大道”和“壞 id”。下面的代碼 100% 正確執(zhí)行此操作,直到它遇到包含雙逗號(hào)的格式錯(cuò)誤的行,而我可以用單數(shù)逗號(hào)替換所有雙逗號(hào),這不能完全解決問(wèn)題,因?yàn)樵撔袑⒈灰暈椤案袷藉e(cuò)誤”和然后應(yīng)該將其添加到 badId 的類(lèi)別中,但它會(huì)導(dǎo)致NumberFormatException完全錯(cuò)誤和下面的代碼。我想知道是否有可能以一種不會(huì)導(dǎo)致此異常的方式忽略雙逗號(hào),但仍然能夠解析文件的其余部分,將這一行按預(yù)期添加到 badId 的數(shù)組中。文本文件讀取自123-ABC-4567, 15 W. 15th St., 50.1456-BGT-9876,22 Broadway,24QAZ-456-QWER, 100 East 20th Street,50Q2Z-457-QWER, 200 East 20th Street, 49678-FGH-9845 ,,45 5th Ave, 12.2,678-FGH-9846 ,45 5th Ave, 12.2123-ABC-9999, 46 Foo Bar, 220.0347-poy-3465, 101 B'way,24
查看完整描述

1 回答

?
慕神8447489

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

這里的問(wèn)題在于:

Float f = Float.valueOf(result[2]);

在這里,您嘗試將第二個(gè)索引的值轉(zhuǎn)換為Float.

在前四行數(shù)據(jù)中,轉(zhuǎn)換沒(méi)有問(wèn)題,因?yàn)楸晦D(zhuǎn)換的值是50.1,24,50.

但是,由于實(shí)際上將被解析為空字符串的“雙逗號(hào)”,現(xiàn)在轉(zhuǎn)換為 on 45 5th Ave,然后將拋出NumberFormatException.

在關(guān)于過(guò)濾出數(shù)組中的空值的評(píng)論中的查詢(xún)后添加以下部分:

您可以使用以下(Java 8 及更高版本)過(guò)濾掉數(shù)組中的空值:

String[] filteredResult = Arrays.stream(result).filter(o -> !o.isEmpty()).toArray(String[]::new);

話(huà)雖如此..此解決方案專(zhuān)門(mén)針對(duì)您在這種情況下面臨的問(wèn)題,并且可能不是一個(gè)好的解決方案。

實(shí)際的解決方案是在開(kāi)始解析數(shù)據(jù)之前實(shí)際清理數(shù)據(jù)。


查看完整回答
反對(duì) 回復(fù) 2022-06-04
  • 1 回答
  • 0 關(guān)注
  • 117 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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