所以我對Java很新,我必須在BlueJ爲學校做一個練習。它必須是一個船隻租用服務系統,其中一個輸出必須是當天所有船隻被僱用的總時間(所有船隻每天只能僱用一次)。對於這個方法,我使用了兩個類hiredBoat和summary。我的開始和結束時間的輸入是在格式HHMM(INT),我把對象hiredBoat陣列內:當循環返回值搞砸
private ArrayList<hiredBoat> hiredboats;
public void addHired(int boatnumber, int starttime, int endtime, int usedfuel, boolean damage)
{
hiredeBoat boat = new hiredBoat(boatnumber, start, end, usedfuel, damage);
hiredBoats.add(boat);
boatamount++;
}
在hiredBoat我有兩個方法來返回的僱用小時和分鐘僱用的量。該getHour()方法的工作原理是這樣的getMin()是精確的,除了實際的回報INT相同:
public int getHour()
{
endtimehour = endtime/100;
endtimemin = endtime % 100;
if(endtimemin >= 60)
{
endtimehour++;
endtimemin = endtimemin - 60;
}
starttimehour = starttime/100;
starttimemin = starttime % 100;
if(starttimemin >= 60)
{
starttimehour++;
starttimemin = starttimemin - 60;
}
totalhour = endtimehour - starttimehour ;
totalmin = endtimemin - starttimemin;
if(totaalmin < 0)
{
totalhour--;
totalmin = 60 + totalmin;
}
return totalhour;
}
的getHour和getMin方法,他們應該在工作的時候創建一個hiredBoat對象。
我的方法來獲得被僱傭是我的總結對象中的所有船的總時間:
public void getTotaltimehired()
{
totalhours = 0;
totalminutes = 0;
for(hiredBoat hiredBoat : hiredboats)
{
totalhours = totalhours + hiredBoat.getHour();
totalminutes = totalminutes + hiredBoat.getMin();
}
if(totalminutes >= 60)
{
extrahours = totalminutes/60;
totalminutes = totalminutes % 60;
totalhours = totalhours + extrahours;
}
System.out.println("Total time hired: " + totalhours + " uur en " + totalminutes + " minuten");
}
最大的問題,我有是,當我創建一個hiredBoat的getHour()和getMin()做工精細,但當我循環添加了所有它不
提示:閱讀關於java命名約定。類名起始於UpperCase;總是。 – GhostCat
除此之外:尋求調試幫助的問題(「爲什麼這個代碼不工作?」)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。沒有明確問題陳述的問題對其他讀者無益。請參閱:如何創建[mcve]。將您的問題恢復到可以編譯和執行的最低限度;並在此給予。作爲「但是當我循環添加全部它不」不是一個描述,我們可以幫助! – GhostCat