所以我對編碼相當陌生,而且我只迴避0。我在運行時輸入10000 5和10作爲我的3個輸入,並且我無法從其中返回任何其他所有三個字段的值。我想也許我的程序想要一個變量的起點,所以我宣佈他們都是0開始,它仍然沒有工作。只有返回0的控制檯計算應用程序
int AIR, MIR, PMT, IP, PP, ABorrowed, Term;
AIR = 0;
MIR = 0;
PMT = 0;
IP = 0;
PP = 0;
ABorrowed = 0;
Term = 0;
Console.WriteLine("Please enter the amount borrowed on your loan ");
ABorrowed = int.Parse(Console.ReadLine());
Console.WriteLine("Please enter the interest rate for your loan ");
AIR = int.Parse(Console.ReadLine());
Console.WriteLine("Please enter term of your loan in months ");
Term = int.Parse(Console.ReadLine());
MIR = AIR/12;
PMT = ABorrowed * (MIR/((1-(1/(1+MIR))^Term)));
IP = ABorrowed * MIR;
PP = PMT - IP;
Console.WriteLine("Your total payment for this month is " + PMT);
Console.WriteLine("Of that payment " + IP + " is interest rate");
Console.WriteLine("and the Payment Portion is " + PP);
Console.ReadLine();
需要注意的是,您不應該從用戶輸入中解析整數目錄並將其分配給整數。如果他們輸入'asdf',你的程序將崩潰。而是使用'int.TryParse()'。十進制也有這個方法可用。 – 2013-03-12 22:55:46
由於JaredPar聲稱你應該使用Decimal而不是Int,如果你看看你的代碼,你現在的第一個計算是AIR/12,如果我正確讀取你的AIR是5的話?換句話說,你的第一個公式是5/12,當以int形式返回時,你的MIR的值爲0,因此在所有其餘的公式中,你乘以0,因此你得到的值爲0.如果你從詮釋爲十進制你的概率應該被解決。 :) – Heinrich 2013-03-12 23:07:20