香港專業教育學院得到這個規範的CSV文件:解析一個CSV線
- 重點 - 結構化的分類:ID,其中ID是一個序列號。有 沒有必要(或使用)這個分成了兩個部分,只是治療 鍵作爲一個獨特的價值
- 品牌 - 產品
- 模型製造商 - 產品的型號名稱
- WeightInKg - 產品的重量,四捨五入到最接近公斤
- 價格 - 銷售該產品的價格爲2位小數(2DP)
和我有這個代碼來標記每行:
public WarehouseItem(String warehouseItem) {
String key, brand, model;
int weightInKG;
double price;
StringTokenizer strTok;
strTok = new StringTokenizer(warehouseItem);
try {
key = strTok.nextToken();
brand = strTok.nextToken();
model = strTok.nextToken();
weightInKG = Integer.parseInt(strTok.nextToken());
price = Double.valueOf(strTok.nextToken());
}
catch (Exception e) {
throw new IllegalStateException("CSV row had invalid format");
}
}
當我嘗試運行它時,我得到了CSV文件的IllegalStateException。
Exception in thread "main" java.lang.IllegalStateException: CSV row had invalid format
at WarehouseItem.<init>(WarehouseItem.java:23) // throwing exception
at main.loadRecords(main.java:63) // records[numRows] = new WarehouseItem(warehouseItem); storing into array of objects
at main.main(main.java:26) // loadRecords(); calling the function which reads a line
at main.loadRecords(main.java:78) // main(null); recursing back to main
at main.main(main.java:26) // loadRecords(); calling the function which reads a line
繼承人在CSV文件中的一行的例子:
沙發:6,Fremarc,豪華,101,1871.7
IM想,也許是因爲它具有關鍵ID作爲序列號? ?或者根本不重要?我會感到困惑和任何幫助,將不勝感激
你能後你得到確切的錯誤?編輯:不,你不能。你可以把它從'try catch'塊中取出來,運行它,然後告訴我們你遇到了什麼錯誤? – nhgrif
我現在得到一個NoSuchElementException現在當我在try-catch塊上刪除它時 –
什麼是23行? 26號線? 63線? 78線? – nhgrif