我试图让它显示第 1 年original tuition + interest rate
,然后让所有的利率复合之后。
private void on1_Click(object sender, EventArgs e)
{
double originalTuition = 6000.00;
double newTuition;
double interestRate = 0.02;
tuitionListBox.Items.Clear();
for (int year = 1; year <= 5; year++)
{
if (year == 1)
newTuition = originalTuition;
else
newTuition = originalTuition + (originalTuition * interestRate);
newTuition = newTuition + (newTuition * interestRate);
tuitionListBox.Items.Add(year + "\t" + newTuition.ToString("c"));
}
}
newTuition 由于您的“else”块,在第 1 年之后总是以相同的值开始。我的猜测是你想在“else”之后删除第一行代码。
首先初始化newTuition变量。然后下面的代码:
for (int year = 1; year <= 5; year++)
{
if (year == 1)
newTuition = originalTuition;
else
newTuition = newTuition + (newTuition * interestRate);
tuitionListBox.Items.Add(year + "\t" + newTuition.ToString("c"));
}
我建议创建一个新的方法的清晰度和可重用性。使用括号 if / else 语句使代码更容易阅读,从而识别问题。
private List<double> GetAnnualTuitions(double originalTuition, double interestRate, int numOfYears)
{
double newTuition = 0;
List<double> tuitions = new List<double>();
for (int year = 1; year <= numOfYears; year++)
{
if (year == 1)
{
newTuition = originalTuition;
}
else
{
newTuition += (newTuition * interestRate);
}
tuitions.Add(newTuition);
}
return tuitions;
}
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(20条)