減価償却表を出力するために3つのパラメータがこの関数に渡されます。最初のループは年の合計を計算し、2番目のループはユーザーが入力したアイテムの耐用年数中の各年の減価償却を計算します。上記のSystem.out.println
ステートメントのヘッダーの下に正しい値を出力するように、2番目のループをコーディングするのに問題があります。ループは最初のループと同じループなので、ループは実行されません。年合計を使用したJava減価償却表ループ
public class Table
{
public void makeDepreciationTable(int useful_Life, double acquisition_Value, double salvage_Value)
{
int sum = 0;
int year = 1;
double accumulatedDepreciation;
// make a loop to calculate the sum
while (year <= useful_Life)
{
sum += year;
year++;
}
System.out.println("The sum is " +sum);
// write the header of the table
System.out.println(" Acquisition Value" + "" + " Salvage Value" + "" + " Useful Life" + "" + " Annual Depreciation" + "" + " Accumulated Depreciation" + "" + " Book Value" + "" +" Fraction");
// make a loop
while (year <= useful_Life)
{
// calculate fraction
double fraction = (double)year/sum;
// calculate annualDepreciation
double annualDepreciation = (acquisition_Value - salvage_Value) * fraction ;
// calc accumulatedDepreciation
accumulatedDepreciation += annualDepreciation;
// calc bookValue
double bookValue = acquisition_Value - accumulatedDepreciation;
// write one line of table
System.out.println(acquisition_Value + "" + salvage_Value + "" + useful_Life + "" + annualDepreciation + "" + accumulatedDepreciation + "" + bookValue + "" + fraction);
year++;
}
}
}
ようこそ!デバッグの助けを求める質問( "なぜこのコードは動作しないのですか?")には、目的の動作、_a特定の問題またはerror_を含める必要があります。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:[最小限で完全で検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve) –
"sum"が表すはずのものは明確ではありません。たとえば、useful_lifeが3の場合、最初のループは合計を1 + 2 + 3 = 6にします。なぜこの計算を行うためにループを使用するのですか?簡単な方程式で十分です。 – FredK