au fil du temps (soustraire 30 % par mois pour les impôts.
Exécuter ce programme depuis la ligne de commande.
L’utilisateur est invité à saisir le nombre d’années qu’ils veulent investir,
montant qu’ils veulent déposer chaque mois et le montant initial.
Résultats envoyés au fichier de l’écran et le texte.
Distribué sous la GNU GPL : www.gnu.org
Import javax.swing.JOptionPane ;
import java.IO ;
importation impossible ;
classe Compound9
{/ / Start classe Compound9
Déclarer des variables
float mike, mike2, mike3, mike4 ;
intérêt du flotteur ; Montant des intérêts
montant de flotteur, amount2 ; Montant initial investi
double i = 1 ;
mois de flotteur, mois2 ; Nombre d’argent mois va être
dépôt/investis ; calculé à partir des années
float MonthlyAmount ; Montant du dépôt de chaque mois
flotteur initial, initial2 ; Dépôt initial
flotter en années, hotel2, hotel3 ;
int n ;
Ligne de chaîne ;
Bravo de chaîne ;
Charlie de chaîne ;
int delta, redhat ;
echo de l’int ;
Fox-trot int ;
Méthode de demander à l’utilisateur d’entrer dans le nombre d’années
Méthode retourne float
flotteur NumberYears() lève java.io.IOException
{/ / Start NumberYears, méthode
delta int = 0 ;
Hôtel du flotteur ; Nombre d’années argent va être déposé/investi
Hôtel = 0 ;
Alpha de la chaîne ;
{}
try {}
Question d’entrée à l’écran d’impression
System.out.println ("\nHow plusieurs années vous voulez investir?") ;
Utiliser le flux d’entrée standard dans la classe System, flux des entrées au clavier
dans la variable « isr » de classe InputStreamReader
InputStreamReader isr = new InputStreamReader(System.in) ;
Flux des informations de la variable « isr » en variable « br » de classe BufferedReader
BufferedReader br = new BufferedReader(isr) ;
Lire le lecteur mis en mémoire tampon « br » dans la variable String « alpha »
Alpha = br.ReadLine ;
Convertir la chaîne « alpha » dans un flotteur et retourne le résultat
à la partie principale du programme
Hôtel = (Float.parseFloat(alpha)) ;
++ Delta ; Incrément de faire-tout en variable drapeau si un nombre est entré
} / / fin de boucle de try
catch (IOException golf) {/ / Start capture pour IOException
System.out.println ("erreur d’e/s - erreur interceptée:" + golf.getMessage()) ;
golf.printStackTrace() ;
} / / Fin catch Exception e/s
Catch System.exception, si la lettre est entré
{} catch (NumberFormatException écho)
System.out.println ("vous ne pas entrer un nombre.") ;
System.out.println ("erreur interceptée ; vous avez saisi: "+ echo.getMessage()) ;
echo.printStackTrace() ;
Lorsque le programme atteint ce point, le delta est toujours 0
C’est pourquoi il va faire la boucle à nouveau
} / / Fin de capture
} / / Fin do
tandis que (delta == 0) ;
renvoie la valeur d’hôtel sur le programme principal
retour hôtel ;
} / / Fin NumberYears méthode
Méthode pour obtenir le montant du dépôt de chaque mois de l’utilisateur
flotteur MonthlyDeposit() lève java.io.IOException
{/ / Start MonthlyDeposit, méthode
faire
{/ / Start loop
Essayez
{/ / Start essayer section
Question d’entrée à l’écran d’impression
System.out.println ("\nHow beaucoup vous voulez déposer chaque mois?") ;
Utiliser le flux d’entrée standard dans la classe System, flux des entrées au clavier
dans la variable « isr » de classe InputStreamReader
InputStreamReader isr = new InputStreamReader(System.in) ;
Flux des informations de la variable « isr » en variable « br » de classe BufferedReader
BufferedReader br = new BufferedReader(isr) ;
Lire le lecteur mis en mémoire tampon « br » dans la chaîne de la variable « bravo »
Bravo = br.ReadLine ;
Monter la chaîne « bravo » dans un flotteur
HOTEL2 = Float.parseFloat(bravo) ;
Si une exception est levée sur la ligne avant, foxtrot ++ est ignorée
Fox-trot ++ ;
} / / Fin de section try
{} catch (IOException xray)
System.out.println ("erreur d’e/s - erreur interceptée:" + xray.getMessage()) ;
xray.printStackTrace() ;
} / / Fin de IOException
Catch System.exception, si la lettre est entré
{} catch (NumberFormatException hp)
System.out.println ("vous ne pas entrer un nombre.") ;
System.out.println ("erreur interceptée ; vous avez saisi: "+ hp.getMessage()) ;
hp.printStackTrace() ;
Fox-trot est toujours nul à ce point
} / / Fin des captures de NumberFormatException
} / / Fin loop
Indicateur qui détermine à quel moment faire-alors que les extrémités de la boucle
tandis que (foxtrot == 0) ;
retour hotel2 ;
} / / Fin MonthlyDeposit méthode
Méthode InitialAmount obtient la somme initiale investie
flotteur InitialAmount() lève java.io.IOException {}
{/ / Start loop
try {}
System.out.println ("\nHow est l’investissement initial? ») ;
Flux des entrées au clavier en InputStreamReader « isr »
InputStreamReader isr = new InputStreamReader(System.in) ;
Alimentent InputStreamReader BufferedReader
BufferedReader br = new BufferedReader(isr) ;
Lire le BufferedReader dans variable « charlie »
Charlie = br.ReadLine ;
String « charlie » précipité de flotteur et placé dans la variable « hotel3 »
hotel3 = (Float.parseFloat(charlie)) ;
Incrément de faire-tout en variable drapeau si un nombre est entré
RedHat ++ ;
} / / Fin de section try
{} catch (IOException redhat2)
System.out.println ("IOError - erreur interceptée:" + redhat2.getMessage()) ;
redhat2.PrintStackTrace() ;
} / / Fin IO catch déclaration
{} catch (NumberFormatException suse)
System.out.println ("vous ne pas entrer un nombre") ;
suse.getMessage() ;
suse.printStackTrace() ;
} / / Fin de NumberFormat catch
} / / Fin loop
tandis que (redhat == 0) ;
retour hotel3 ;
} / / Fin InitialAmount méthode
Méthode NegativeCheck vérifie un nombre négatif
flotteur NegativeCheck(float kilo) {}
Si (kilo < 0) {}
System.out.println ("Veuillez entrer un nombre positif.") ;
Mike = 0 ;
} / / Fin si instruction
else {}
Mike = 1 ;
}
retour de mike ;
} / / Fin NegativeCheck
flotteur months() / / méthode pour calculer le nombre de mois
{
mois = ans * 12 ;
System.out.println ("le nombre de mois est:" + mois) ;
retour mois ;
}
Méthode pour calculer les intérêts, imprimez-le pour le
l’écran et l’écrire dans un fichier
flotteur calculer (mois3 flotteur, flotteur initial2)
{
try / / Loop pour essayer d’écrire dans un fichier
{
Fichier temp = new File("Compound9.txt") ; Créer le nouveau fichier
FileWriter fw = new FileWriter(temp) ; Créer new FileWriter
BufferedWriter out = new BufferedWriter(fw); / / créer nouveau BufferedWriter
Passer initial2 dans la variable « montant »
montant = initial2 ;
Calculer l’intérêt pour le premier mois
Calculer l’intérêt mensuel (08/12)
croissance annuelle de 8 % (en moyenne historique des stocks)
intérêts = (float) (montant *. 00667) ;
20 % de taxes souscrite
intérêts = (float) (intérêt *. 8) ;
Intérêt ajouté au total cumulé
montant = (montant + intérêts) ;
Formater la sortie à 2 décimales et mis une virgule dans (US style)
DecimalFormat roundTwo = new DecimalFormat("###,###,###,###.##") ;
Les informations placées dans l’objet String en « ligne » qui seront envoyés au dossier
ligne = (« Le montant après » + i + « mois est $ » + roundTwo.format(amount) + « \n ») ;
Informations envoyées à l’écran
System.out.println (« Le montant après » + i + « mois est $ » + roundTwo.format(amount)) ;
Écrire la chaîne « ligne » au fichier
out.Write(Line) ;
NOTE : La raison pour laquelle le premier mois intérêts est distincte de la boucle principale est
parce que je voulais m’assurer qu’intérêt le premier mois a été calculé uniquement
pour le dépôt initial, pas de dépôt initial plus dépôt du premier mois.
Boucle calcule du mois 2 à partir
Départ pour la boucle déterminer les intérêts composés ; limitée par le nombre de mois
pour (i = 2; i < = mois3; i ++)
{
Ajouter le dépôt mensuel au montant total
montant = (montant + MonthlyAmount) ;
Calculer l’intérêt mensuel (08/12)
croissance annuelle de 8 % (en moyenne historique des stocks)
intérêts = (float) (montant *. 00667) ;
20 % de taxes souscrite
intérêts = (float) (intérêt *. 8) ;
Intérêt ajouté au total cumulé
montant = (montant + intérêts) ;
Formater la sortie à 2 décimales et mis une virgule dans (US style)
DecimalFormat roundTwo = new DecimalFormat("###,###,###,###.##") ;
Les informations placées dans l’objet String en « ligne » qui seront envoyés au dossier
ligne = (« Le montant après » + i + « mois est $ » + roundTwo.format(amount) + « \n ») ;
Informations envoyées à l’écran
System.out.println (« Le montant après » + i + « mois est $ » + roundTwo.format(amount)) ;
Écrire la chaîne « ligne » au fichier
out.Write(Line) ;
} / / Fin de boucle
out.Close() ; Fichier texte étroite
} / / Fin de boucle de try
catch (System.Exception e) {/ / Catch exception si ne peuvent pas écrire le fichier
System.out.println ("An error has occured:" + e.toString()) ;
} / / Fin de capture
retourner le montant ;
} / / Fin calculate, méthode
Méthode principale de Start, disant programme levée d’Exception IO
Public Shared Sub main (arguments de chaîne []) lève java.io.IOException
{
Demandez à l’utilisateur de répondre à des questions à venir avec la boîte de dialogue
JOptionPane.showMessageDialog)
NULL, "s’il vous plaît répondre aux questions suivantes.") ;
Créer nouvelle poignée appelée « foxtrot » de type « Compound9 »
Fixer la poignée au nouvel objet « Compound9 »
Foxtrot Compound9 = new Compound9() ;
Obtenir le nombre d’années
{}
variable de retour « hotel » est passée dans la variable « ans »
Foxtrot.years = foxtrot. NumberYears() ;
passer variable « ans » dans la méthode NegativeCheck
résultat va dans « mike2 »
Foxtrot.MIKE2 = foxtrot. NegativeCheck(foxtrot.years) ;
} / / Fin do
Si « mike » est égal à 0, l’utilisateur est invité à nouveau les informations
while(Foxtrot.MIKE2 == 0) ;
System.out.println ("le nombre d’années que vous avez entré est:" + foxtrot.years) ;
Obtenez le montant mensuel à déposer
{}
variable de retour « hotel2 » est passé dans la variable « MonthlyAmount »
Fox-trot. MonthlyAmount = foxtrot. MonthlyDeposit() ;
passer la variable « MonthlyAmount » dans NegativeCheck méthode
résultat va dans « mike3 »
Foxtrot.mike3 = foxtrot. NegativeCheck (foxtrot. MonthlyAmount) ;
} / / Fin loop
Si mike3 est 0, l’utilisateur est demandé pour entrée à nouveau
même si (foxtrot.mike3 == 0) ;
System.out.println ("le montant mensuel est entré est:" + foxtrot. MonthlyAmount) ;
Obtenez le montant initial à déposer
{}
Retourner la variable « redhat » et placer dans la variable « initiale »
Foxtrot.initial = foxtrot. InitialAmount() ;
Passer « initiale » dans la méthode NegativeCheck et résultat de retour dans « mike4 »
Foxtrot.mike4 = foxtrot. NegativeCheck(foxtrot.initial) ;
} / / tandis que « mike4 » est 0, l’utilisateur sera demandé pour l’entrée
même si (foxtrot.mike4 == 0) ;
System.out.println ("le montant initial inscrit est:" + foxtrot.initial) ;
Appelez la méthode mois afin de déterminer le nombre de mois
Foxtrot.months2 = foxtrot.months() ;
Appel calculate, méthode pour calculer les intérêts
Foxtrot.amount2 = foxtrot.calculate (foxtrot.months2, foxtrot.initial) ;
Créer l’objet « roundTwo » de la classe DecimalFormat pour formater correctement les données de sortie écran
DecimalFormat roundTwo = new DecimalFormat("###,###,###,###.##") ;
Afficher les résultats à l’utilisateur sur la ligne de commande
System.out.println (« \nThe le montant initial de $» + foxtrot.initial + "après l’ajout de $" + foxtrot. MonthlyAmount + "par mois") ;
System.out.println (« pour » + foxtrot.years + « ans et plus en plus de 8 % par an (avec 20 % de demontée pour taxes) ») ;
System.out.println ("devient >>>>>>>> $" + roundTwo.format(foxtrot.amount2) + "<<<<<<<<<" + « \n ») ;
System.out.println ("Ceci a été écrit dans un fichier texte appelé : compound9.txt.\n") ;
Afficher les résultats à l’utilisateur dans la boîte de dialogue
JOptionPane.showMessageDialog)
NULL, « Le montant du montant initial de $» + foxtrot.initial + "après l’ajout de $" + foxtrot. MonthlyAmount + "par mois pour" + foxtrot.years + "\n ans et plus en plus de 8 % par an (avec 20 % de demontée pour taxes) devient >> $" + roundTwo.format(foxtrot.amount2) + "\n ceci a été écrit dans un fichier texte appelé : compound9.txt.") ;
System.Exit (0) ;
} / / Méthode main() à proximité
} / / Fermer classe compound9