だから私はかなりJavaに新しいので、私はBlueJで学校の練習をしなければならない。ボート雇用のためのシステムでなければならず、出力の1つは、その日にすべてのボートが雇われた合計時間でなければなりません(すべてのボートは1日1回しか雇われません)。このメソッドでは、hiredBoatとsummaryという2つのクラスを使用しています。開始時刻と終了時刻のための私の入力はフォーマットHHMM(int型)であり、私は、配列内のオブジェクトhiredBoatを置く: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++;
}
は私が雇わ雇わ時間と分の量を返すには2つの方法があります。 getHour()メソッドは次のように機能し、getMin()は正確な実際の戻りint型以外は同じである:私はhiredBoatオブジェクトを作成するときに
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方法は、彼らが必要として働いています。
私の方法は、私の要約対象である雇用されているすべてのボートの合計時間を取得します
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