我之前沒有使用java,我很困惑爲什麼我寫的簡單的現值計算器不工作。現值公式由於某種原因返回一個超小號碼?看看你是否能發現我的錯誤:簡單的Java現值計算器不能正常工作
// Import all utilities
import java.text.DecimalFormat;
import java.util.*;
// Base class
public class Project2
{
// Main function
public static void main(String[] args)
{
// Define variables
double p = 0.0;
double f = 0.0;
double r = 0.0;
double n = 0.0;
String another = "Y";
// Create a currency format
DecimalFormat dollar = new DecimalFormat("#,###.00");
// Create a new instance of the scanner class
Scanner keyboard = new Scanner(System.in);
// Loop while another equals "Y"
while(another.equals("Y"))
{
// Get future value
System.out.println("Future value: ");
f = Double.parseDouble(keyboard.nextLine());
// Get annual interest rate
System.out.println("Annual interest rate: ");
r = Double.parseDouble(keyboard.nextLine());
// Get Number of years
System.out.println("Number of years: ");
n = Double.parseDouble(keyboard.nextLine());
// Run method to find present value and display result
p = presentValue(f, r, n);
System.out.println("Present value: $" + p);
// Ask if user wants to enter another
System.out.println("Enter another?(Y/N) ");
another = keyboard.nextLine().toUpperCase();
}
}
public static double presentValue(double f, double r, double n)
{
// Do math and return result
double p = f/Math.pow((1 + r), n);
return p;
}
}
「看你是否能發現我的錯誤」 - 這將是*好得多*如果你鑑定和分離您認爲代碼的一部分,會造成您的錯誤。我們無法隨意抽查您的代碼... – Makoto
將它縮小就是現在必須執行的操作,因爲您的當前值計算除以大於1的數字。 – Radiodef
問題是什麼?你說「它返回一個超級小的價值」。期望值是多少?什麼是實際價值?你有錯誤嗎?那是什麼錯誤?如果你回答這些問題,你很可能會解除阻滯。 – Shobit