απόσβεσης δανείων ( όπως μια υποθήκη το σπίτι ) εξοφληθεί κατά τη διάρκεια του δανείου με τακτικές πληρωμές . Από κάθε πληρωμή , οι δεδουλευμένοι τόκοι για το χρονικό διάστημα καταβάλλεται , με το υπόλοιπο που εφαρμόζεται στον κύριο . Ένα χρονοδιάγραμμα αποπληρωμής του δανείου δείχνει πώς η εφαρμογή της κάθε πληρωμής κατανέμεται μεταξύ κεφαλαίου και τόκων. Ο τύπος για τον υπολογισμό του ποσού πληρωμής δανείου
είναι με βάση την αρχή , το περιοδικό επιτόκιο , και ο συνολικός αριθμός των πληρωμών προγραμματιστεί ( δείτε το "Google Guide : Υπολογιστής Google" σύνδεσμο στην ενότητα Πόροι για μια μαθηματική αναφορά χειριστή ) :
Πληρωμής = ( κύριος * τόκους ) /( 1 - ( 1 + τόκοι ) ^ τον αριθμό των πληρωμών )
Ο πίνακας χρεολυσίων δημιουργείται από τον υπολογισμό του ποσού που καταβάλλεται προς τόκους για την περίοδο (τόκοι * ισορροπίας ) και το ποσό που καταβάλλεται προς τον κύριο ( πληρωμή - . ποσό των τόκων )
Η
Java Αποσβέσεις Υπολογιστής
Η
Δημιουργήστε μια κλάση που ονομάζεται AmortizationSchedule με μεταβλητές μέλους να αποθηκεύσετε το αρχικό ποσό του δανείου , ο αριθμός των πληρωμών , το περιοδικό επιτόκιο , την ισορροπία και την πληρωμή .
ιδιωτικά δίκλινα ενδιαφέρον ? ιδιωτικά δίκλινα κύριος ? ιδιωτικού int numPayments ? ιδιωτικά δίκλινα ισορροπία ? ιδιωτικού διπλή πληρωμή ?
Γράψτε μια δομή που να δέχεται και θέτει το κεφάλαιο, περιοδικό επιτόκιο και τον αριθμό των πληρωμών . Η ισορροπία και η πληρωμή θα υπολογιστεί αργότερα
δημόσια AmortizationSchedule ( i διπλό , διπλό p , int n ) . { Τόκοι = i ? Κύριος = p? NumPayments = n ? }
Προσθήκη μέλους . λειτουργία για τον υπολογισμό και την έξοδο του χρονοδιαγράμματος
public void printAmoritizationSchedule ( ) {
Δήλωση μεταβλητών για την αποθήκευση υπολογισμούς
διπλό curInterest = 0 , curPrincipal = 0 ? . διπλό totalPayments = 0 , totalPrincipal = 0 , totalInterest = 0 ? .
Υπολογίστε την πληρωμή , που το τρέχον υπόλοιπο του ποσού του δανείου και να εκτυπώσετε επικεφαλίδες στήλης για έναν πίνακα οριοθετημένο με κόμματα
πληρωμής = ( * κύριος τόκων ) /( 1 - Math.pow ( ( 1 + τόκοι ) , - numPayments ) ) ? ισοζύγιο = κύριος ? διπλή curInterest = 0 ? System.out.println ( " Περίοδος , πληρωμή , κεφάλαιο, τόκους , Balance" ) ?
Loop μέσα από κάθε περιόδου πληρωμής
για . ( int περίοδος = 1 ? περίοδο <= numPayments ? περίοδο + + ) {
Υπολογίστε τη μερίδα ενδιαφέροντος της σημερινής πληρωμής .
curInterest = ισορροπία * ενδιαφέρον ?
για την τελική πληρωμή , ρυθμίστε τη στρογγυλοποίηση , ορίζοντας την καταβολή στο βραχυπρόθεσμο τμήμα επιτόκιο συν το υπόλοιπο
αν (περίοδος = . = numPayments ) { πληρωμή = ισορροπία + curInterest ? }
Υπολογίστε την τρέχουσα καταβολή κεφαλαίου και το τρέχον υπόλοιπο . Εκτυπώστε τα αποτελέσματα
curPrincipal = πληρωμής - curInterest ? . Ισορροπία - = curPrincipal ? System.out.println (περίοδος + " , " + πληρωμής + " , " + curPrincipal + " , " + curInterest + " , " + ισορροπίας ) ?
Προσθέστε τις τρέχουσες τιμές χρονοδιάγραμμα για τα τρέχοντα σύνολα και στο τέλος του βρόχου
totalPayments + = πληρωμή ? . totalPrincipal + = curPrincipal ? totalInterest + = curInterest ? }
.
Τέλος, εκτυπώστε τα σύνολα για κάθε στήλη και να βγείτε από τη μέθοδο
System.out.println ( " σύνολα ", + totalPayments + " , " + totalPrincipal + " , " + totalInterest ) ? }
στην εφαρμογή σας , υπόσταση AmortizationSchedule με τις προδιαγραφόμενες τιμές και καλέστε printAmoritizationSchedule ( ) .
Η Συμβουλές και Tweaks
Η
Χρησιμοποιήστε BigDecimal στη θέση του διπλασιάζεται για οικονομικούς υπολογισμούς για αυξημένη ακρίβεια και τον αριθμό μορφοποίησης έλεγχο. Μορφή εξόδου για τον περιορισμό της οθόνης με δύο δεκαδικά ψηφία .
Δάνεια είναι συνήθως αναφέρεται από την άποψη των ετήσιων τόκων , οι μηνιαίες πληρωμές και ο αριθμός των πληρωμών . Συλλέγουν τις πληροφορίες με τον τρόπο που έχει περισσότερο νόημα για τους χρήστες σας , και να κάνει τους απαραίτητους υπολογισμούς πριν από τον υπολογισμό του χρονοδιαγράμματος .
Ως εναλλακτική λύση για την εκτύπωση το χρονοδιάγραμμα εξόφλησης , μπορείτε να αποθηκεύσετε τα αποτελέσματα σε ένα δισδιάστατο array για να επιστρέψετε στην κλήση συνάρτησης .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα