今天主要還是在複習 Java,首先複習了 Object 的建立和 ArrayList 的使用,也稍微調整了一下昨天的程式碼。昨天的功能只有 CSV 資料讀進 Java,今天則是把讀進來的資料整理成 Object,再放進 ArrayList 裡面。
例外處理額外新增了NumberFormatExceptio,防止格式轉換時發生錯誤。
我發現我真的忘記很多 Java的用法,複習了一下建構子、Setter和Getter的關係。

再來像是toString()。這一段透過@Override還有toString(),決定Object要輸出的內容,方便檢查 ArrayList
另外,我還新學到 .trim()。它的作用是把字串頭尾多餘的空白去掉。
接著我試著詢問 AI 看可以怎麼運用在資料分析上,所以我自己設計了一個 Prompt「請根據這份資料,列出五項最值得使用的分析,並告訴我需要使用哪些資料以及適合的分析方式。」
在設計 Prompt 的時候,我發現如果只是直接跟 AI 說「幫我分析這份資料」,得到的回答會太廣,也不一定是我真正想知道的東西。所以我覺得比較好的指令應該要有一些限制,而且要明確、具體,讓 AI 知道我到底希望它做什麼,而不是直接把資料丟給它就好。
接著我將 AI 推薦的分析方式,去思考 Excel、Java 和 AI 之間的差別。Excel 比較適合快速查看資料、做簡單計算或圖表;Java 可以把資料處理的流程寫成程式,之後如果有更多資料,就不用一直重複做一樣的事情;AI 則比較適合幫忙提出可以分析的方向,或是協助解釋分析出來的結果。
我覺得這也是為什麼直接把資料全部丟給 AI 不一定會得到很準確的結果。因為如果自己根本不知道資料代表什麼,或是不知道資料經過哪些處理,就算 AI 給出一個答案,我好像也沒有辦法判斷這個答案到底對不對。
最後我嘗試在資料裡加入 N/A,看看缺少資料的時候會發生什麼。原本覺得少一筆資料好像沒有什麼,但實際在計算平均值的時候就會發現,N/A 不能直接當成一般的數字計算,還要先決定要忽略這筆資料、刪除,還是用其他方式處理。這也讓我發現,在真正開始分析之前,其實還要進行「資料清理」。
今天做完之後,我發現資料分析好像不是單純學會 Java 或是用 AI 就可以,而是要先知道自己現在遇到的是什麼問題,再去選比較適合的工具。AI 的確可以讓很多事情變快,但如果自己完全不知道資料是怎麼處理的,好像也很難知道最後的結果能不能相信跟使用。