2014-02-24 20 views
0

我想在java中創建一個程序,該程序應計算每筆付款和爲任何給定購買的融資支付的總利息。應用程序還應該允許用戶比較兩種不同付款計劃之間的差異。如何以百分比掃描一個數字?

我有什麼

Scanner scan = new Scanner(System.in); 
    System.out.println("Enter the total cost of the purchase:"); 
    float tPurchase = scan.nextFloat(); 
    System.out.println("Enter your first down payment:"); 
    float Paymentone = scan.nextFloat(); 
    System.out.println("Enter your second down payment: "); 
    float Paymenttwo = scan.nextFloat(); 
    System.out.println("Enter first lenght of time to pay"); 
    float paylenght = scan.nextFloat(); 
    System.out.println("Enter second length of time to pay:"); 
    float paylength2 = scan.nextFloat(); 
    System.out.println("Enter APR:"); 

我的問題是如何獲取的程序來掃描下一個數字爲百分數。例如,總購買10,000,首付3000,第二下降5,000,四年期APR一年1%,五年期APR兩年2%。無需告訴我如何進行計算,只需如何使其按百分比進行掃描即可。

+2

把它作爲一個簡單的數字輸入,然後視爲您的計算中的百分比值。簡單。 –

+0

以字符串的形式閱讀它,看它是否包含%符號..(如果您非常希望在那裏使用「%」符號..)。將「%」符號替換爲「」並將該數字解析爲雙精度。我會親自採取@SayemAhmed方法順便說一句.. :) – TheLostMind

+0

我是相當新的...以及一般編碼...但你可以進入一個更詳細的如何使其成爲一個簡單的輸入?根據需要儘可能詳細地介紹,我非常希望儘可能地做到這一點。 @SayemAhmed – user3345550

回答

0

這取決於你希望你的應用程序的行爲。它會接受形式爲xx %x.xx還是隻有xx

那麼這個代碼將處理所有三種情況:

System.out.println("Enter APR:"); 
String aprTemp = scan.next(); 
int apr; 
if (aprTemp.contains("%")) { 
    String aprStr = aprTemp.substring(0, aprTemp.indexOf("%")); 
    apr=Integer.parseInt(aprTemp); 
}else if(aprTemp.matches("[0-9]+")){ // regex for number 
    apr=Integer.parseInt(aprTemp); 
}else if(aprTemp.matches(""^([+-]?\\d*\\.?\\d*)$""){ // regex for float 
    float aprFloat=Float.parseFloat(aprTemp); 
} 
1

存在着如何掃描下一個數字爲百分數,你在上面做了什麼沒有什麼不同。

也許你需要改變的唯一事情是:

System.out.println("Enter the percentage:"); 

你可以由檢索輸入:

float percentage = scan.nextFloat(); //or 
int percentage = scan.nextInt(); 

或者,如果你想用戶應在其輸入%然後你可能想這樣做:

String strPercentage = scan.nextLine(); 
float percentage = Float.parseFloat(strPercentage.substring(0,strPercentage.length()-1)); 

當然你需要有效先吃用戶輸入來匹配你想要的值。