目的
新增新功能:計算某使用者在某天攝取的蛋白質、脂肪、碳水
1.主選單
新增功能6。
2Main
userId跟date寫法跟前面一樣。
dao.calculateDailyNutrition(userId,date):呼叫方法(後面會創)。
3.FoodLodDAO
創新的方法calculateDailyNutrition把userId,date丟入。
SELECT f.name,f.protein,f.fat,f.carb,fl.quantity:
要查food表的name、protein、fat、carb欄位,foodLog表的quantity欄位。(下面的前面有寫過)
double totalProtein = 0:宣告一個變數為double型別,初四始值為0。
boolean hasRecord = false:用來判斷當天是否有飲食記錄,先預設為false還沒找到記錄。
%-10s %-10s %-10s %-10s %-10s%n :會把字串印在10格寬的欄位裡,向左對齊。 %:要放一個變數的值,-:向左對齊(預設向右),10:欄位寬度為10個字元。
hasRecord = true:會進到迴圈內代表至少讀到一筆資料。
double protein = rs.getDouble("protein")qty: 蛋白質總量=一份蛋白質含量份量。(fat、carb同理)
totalProtein += protein:將每筆蛋白質總量累加到整個日期/使用者的總蛋白質。(totalFat、totalCarb同理)
if(!hasRecord):如果沒有讀到資料hasRecord是false, !hasRecord= ! false =true,就執行這段程式碼。
%.2f g%n:這裡的g是普通的字母會印出來。
4.結果