na verloop van tijd (30% per maand voor belastingen aftrekken.
Dit programma starten vanaf de opdrachtregel.
Gebruiker gevraagd op te geven van het aantal jaren dat ze investeren willen,
bedrag dat ze willen storten elke maand en het initiële bedrag.
Resultaten verzonden naar scherm en tekst bestand.
Gedistribueerd onder de GNU GPL: www.gnu.org
importeren van javax.swing.JOptionPane;
importeren van java.io.*;
importeren van java.text.DecimalFormat;
klasse Compound9
{/ / Start klasse Compound9
Variabelen declareren
zweven mike, mike2, mike3, mike4;
float belang; Rentebedrag
float bedrag, amount2; Eerste geïnvesteerde bedrag
dubbele i = 1;
float maanden, maanden2; Aantal maanden geld is gonna be
gestort/belegd; berekend op basis van het jaar
float MonthlyAmount; Bedrag gestort iedere maand
float eerste, initial2; Eerste storting
zweven jaren, hotel2, hotel3;
int n;
String regel;
Tekenreeks bravo;
Tekenreeks charlie;
int delta, redhat;
int echo;
int foxtrot;
Methode gebruiker invoeren in aantal jaren wilt vragen
Methode retourneert float
float NumberYears() gooit java.io.IOException
{/ / Start NumberYears, methode
int delta = 0;
float hotel; Aantal jaar geld gaat worden gestort/geïnvesteerd
Hotel = 0;
Tekenreeks alpha;
{}
Probeer {}
Invoer vraag naar scherm afdrukken
System.out.println ("\nHow vele jaren wilt u investeren?");
Gebruik de standaard input stream in de klasse System, voeden van de invoer van het toetsenbord
in variabele "isr" van InputStreamReader klasse
InputStreamReader isr = nieuwe InputStreamReader(System.in);
Feedgegevens van variabele "isr" in de variabele "br" van BufferedReader klasse
BufferedReader br = nieuwe BufferedReader(isr);
Het lezen van de gebufferde lezer "br" in de stringvariabele "alpha"
alpha = br.readLine();
String "alpha" in een float geworpen en resultaat
belangrijkste deel van het programma
Hotel = (Float.parseFloat(alpha));
Delta ++; Increment doen-terwijl vlag variabele als een getal wordt ingevoerd
} / / end try lus
vangst (IOException golf) {/ / Start vangst voor IOException
System.out.println ("IO fout - fout gevangen:" + golf.getMessage());
golf.printStackTrace();
} / / End catch IO uitzondering
Vangen van de uitzondering als brief wordt ingevoerd
vangst (NumberFormatException echo) {}
System.out.println ("u heeft niet een nummer invoeren.");
System.out.println ("fout gevangen; u hebt ingevoerd: "+ echo.getMessage());
echo.printStackTrace();
Wanneer programma dit punt bereikt, delta is nog steeds 0
dus zal het doen de lus opnieuw
} / / End catch
} / / Einde do
terwijl (delta == 0);
retourneert de waarde in het hotel aan het hoofdprogramma
retourneren van hotel;
} / / Einde van de NumberYears methode
Methode om de hoeveelheid gestort iedere maand van gebruiker
float MonthlyDeposit() gooit java.io.IOException
{/ / Start MonthlyDeposit, methode
doen
{/ / Start loop
Probeer
{/ / Begin probeer gedeelte
Invoer vraag naar scherm afdrukken
System.out.println ("\nHow veel wilt u elke maand storten?");
Gebruik de standaard input stream in de klasse System, voeden van de invoer van het toetsenbord
in variabele "isr" van InputStreamReader klasse
InputStreamReader isr = nieuwe InputStreamReader(System.in);
Feedgegevens van variabele "isr" in de variabele "br" van BufferedReader klasse
BufferedReader br = nieuwe BufferedReader(isr);
Inlezen van de gebufferde lezer "br" in de String variabele "bravo"
Bravo = br.readLine();
String "bravo" in een float geworpen
hotel2 = Float.parseFloat(bravo);
Als uitzondering is gegooid voort naar de wachtrij vooraleer, is foxtrot ++ overgeslagen
Foxtrot ++;
} / / End try sectie
vangst (IOException xray) {}
System.out.println ("IO fout - fout gevangen:" + xray.getMessage());
xray.printStackTrace();
} / / Einde van IOException
Vangen van de uitzondering als brief wordt ingevoerd
vangst (NumberFormatException hp) {}
System.out.println ("u heeft niet een nummer invoeren.");
System.out.println ("fout gevangen; u hebt ingevoerd: "+ hp.getMessage());
hp.printStackTrace();
Foxtrot is nog steeds nul op dit punt
} / / End catch voor NumberFormatException
} / / Einde loop
Vlag die wanneer bepaalt doen-terwijl lus eindigt
terwijl (foxtrot == 0);
Return hotel2;
} / / Einde van de MonthlyDeposit methode
InitialAmount methode haalt het aanvankelijke bedrag geïnvesteerd
float InitialAmount() gooit java.io.IOException {}
{/ / Start loop
Probeer {}
System.out.println ("\nHow veel is de initiële investering?");
Voer toetsenbordinvoer in InputStreamReader "isr"
InputStreamReader isr = nieuwe InputStreamReader(System.in);
Feed InputStreamReader in BufferedReader
BufferedReader br = nieuwe BufferedReader(isr);
Lees de BufferedReader in variabele "charlie"
Charlie = br.readLine();
String "charlie" in float geworpen en zet in de variabele "hotel3"
hotel3 = (Float.parseFloat(charlie));
Increment doen-terwijl vlag variabele als een getal wordt ingevoerd
RedHat ++;
} / / End try sectie
vangst (IOException redhat2) {}
System.out.println ("IOError - fout gevangen:" + redhat2.getMessage());
redhat2.printStackTrace();
} / / End IO catch verklaring
vangst (NumberFormatException suse) {}
System.out.println ("u heeft niet een nummer invoeren");
suse.getMessage();
suse.printStackTrace();
} / / Einde van NumberFormat vangst
} / / Einde loop
terwijl (redhat == 0);
Return hotel3;
} / / Einde van de InitialAmount methode
De methode van de NegativeCheck wordt gecontroleerd voor een negatief getal
float NegativeCheck(float kilo) {}
Als (kilo < 0) {}
System.out.println ("Voer een positief getal.");
Mike = 0;
} / / End als verklaring
else {}
Mike = 1;
}
retourneren van mike;
} / / Einde van NegativeCheck
zwevend months() / / methode voor het berekenen van aantal maanden
{
maanden = jaar * 12;
System.out.println ("het aantal maanden is:" + maanden);
retourneren van maanden;
}
Methode voor het berekenen van rente, print het uit aan de
het scherm en het schrijven naar een bestand
float berekenen (float months3, float initial2)
{
Probeer / / Loop om te proberen om te schrijven naar een bestand
{
Bestand temp = nieuwe File("Compound9.txt"); Nieuw bestand maken
FileWriter fw = nieuwe FileWriter(temp); Nieuwe FileWriter maken
BufferedWriter uit = nieuwe BufferedWriter (FW); / / Create nieuwe BufferedWriter
Initial2 overgaan in de variabele 'bedrag'
bedrag = initial2;
Rente berekenen voor de eerste maand
Maandelijkse rente berekenen (08/12)
8% jaarlijkse groei (historische avg voor voorraden)
rente = (float) (bedrag *. 00667);
20% belastingen genomen
rente = (float) (rente *. 8);
Belang toegevoegd aan lopend totaal
bedrag = (bedrag + rente);
Formaat van de output naar 2 decimalen en zet een komma in (Amerikaanse stijl)
DecimalFormat roundTwo = nieuwe DecimalFormat("###,###,###,###.##");
Informatie in het object van de String "line" worden verzonden naar het bestand geplaatst
lijn = ("Het bedrag na" + i + "maanden is $" + roundTwo.format(amount) + "\n");
Informatie verzonden naar het scherm
System.out.println ("Het bedrag na" + i + "maanden is $" + roundTwo.format(amount));
String "lijn" schrijven naar bestand
out.write(line);
Opmerking: De reden dat de eerste maand rente los van de hoofdlus staat is
omdat ik wilde ervoor zorgen dat werd de eerste maand rente alleen berekend
voor de eerste storting, niet de eerste storting plus storting van de eerste maand.
Lus berekend op basis van maand 2 verder
Start for-lus om te bepalen van samengestelde rente; beperkt door het aantal maanden
voor (ik = 2; ik < = months3; i ++)
{
Maandelijkse storting aan totale bedrag toevoegen
bedrag = (bedrag + MonthlyAmount);
Maandelijkse rente berekenen (08/12)
8% jaarlijkse groei (historische avg voor voorraden)
rente = (float) (bedrag *. 00667);
20% belastingen genomen
rente = (float) (rente *. 8);
Belang toegevoegd aan lopend totaal
bedrag = (bedrag + rente);
Formaat van de output naar 2 decimalen en zet een komma in (Amerikaanse stijl)
DecimalFormat roundTwo = nieuwe DecimalFormat("###,###,###,###.##");
Informatie in het object van de String "line" worden verzonden naar het bestand geplaatst
lijn = ("Het bedrag na" + i + "maanden is $" + roundTwo.format(amount) + "\n");
Informatie verzonden naar het scherm
System.out.println ("Het bedrag na" + i + "maanden is $" + roundTwo.format(amount));
String "lijn" schrijven naar bestand
out.write(line);
} / / End for-lus
out.Close(); Nauwe tekstbestand
} / / End try lus
vangst (uitzondering e) {/ / uitzondering vangen als niet bestand schrijven
System.out.println ("An error has occured:" + e.toString());
} / / End catch
keren bedrag;
} / / Einde calculate, methode
De belangrijkste methode start, programma om te gooien IO uitzondering vertellen
openbare statische nietige leiding (koord [] argumenten) gooit java.io.IOException
{
Gebruiker vragen te komende vragen met dialoogvenster
JOptionPane.showMessageDialog)
Null, "Gelieve de volgende vragen beantwoorden.");
Maak nieuwe greep genaamd "foxtrot" soort "Compound9"
Handvat aan nieuwe "Compound9" object koppelen
Compound9 foxtrot = nieuwe Compound9();
Aantal jaren krijgen
{}
terugkeer variabele "hotel" wordt doorgegeven in de variabele "jaar"
Foxtrot.years = foxtrot. NumberYears();
Pass variabele "jaar" in de NegativeCheck methode
resultaat gaat in "mike2"
Foxtrot.mike2 = foxtrot. NegativeCheck(foxtrot.years);
} / / Einde do
als "mike" gelijk aan 0 is, de gebruiker wordt gevraagd om de informatie weer
while(Foxtrot.mike2 == 0);
System.out.println ("het aantal jaren dat u hebt ingevoerd is:" + foxtrot.years);
Bedrag per maand gestort krijgen
{}
terugkeer variabele "hotel2" wordt doorgegeven in de variabele "MonthlyAmount"
Foxtrot. MonthlyAmount = foxtrot. MonthlyDeposit();
Pass variabele "MonthlyAmount" in NegativeCheck-methode
resultaat gaat in "mike3"
Foxtrot.mike3 = foxtrot. NegativeCheck (foxtrot. MonthlyAmount);
} / / Einde loop
Als mike3 0 is, wordt gebruiker weer om invoer gevraagd
terwijl (foxtrot.mike3 == 0);
System.out.println ("het bedrag per maand ingevoerd is:" + foxtrot. MonthlyAmount);
Eerste bedrag gestort krijgen
{}
Retourneren van de variabele "redhat" en plaats in de variabele "eerste"
Foxtrot.Initial = foxtrot. InitialAmount();
"Eerste" overgaan in NegativeCheck methode en terugkeer resultaat in "mike4"
Foxtrot.mike4 = foxtrot. NegativeCheck(foxtrot.initial);
} / / terwijl "mike4" 0 is, de gebruiker zal worden gevraagd om input
terwijl (foxtrot.mike4 == 0);
System.out.println ("het eerste ingevoerde bedrag is:" + foxtrot.initial);
Maanden methode aanroepen om te bepalen hoeveel maanden
Foxtrot.months2 = foxtrot.months();
Oproep calculate, methode voor de berekening van rente
Foxtrot.amount2 = foxtrot.calculate (foxtrot.months2, foxtrot.initial);
"RoundTwo" object van DecimalFormat klasse goed opmaken schermuitvoer maken
DecimalFormat roundTwo = nieuwe DecimalFormat("###,###,###,###.##");
Toon resultaten voor user op de opdrachtregel
System.out.println ("\nThe aanvankelijke bedrag van $" + foxtrot.initial + "na het toevoegen van $" + foxtrot. MonthlyAmount + "per maand");
System.out.println ("voor" + foxtrot.years + "jaar en groeit met 8% per jaar (met 20% voor belastingen wordt afgenomen)");
System.out.println ("wordt >>>>>>>> $" + roundTwo.format(foxtrot.amount2) + "<<<<<<<<<" + "\n");
System.out.println ("Dit is geschreven naar een tekstbestand genaamd: compound9.txt.\n");
Showresultaten aan gebruiker in het dialoogvenster
JOptionPane.showMessageDialog)
Null, "Het aanvankelijke bedrag bedrag van $" + foxtrot.initial + "na het toevoegen van $" + foxtrot. MonthlyAmount + "per maand voor" + foxtrot.years + "jaar \n en groeit met 8% per jaar (met 20% voor belastingen wordt afgenomen) wordt >> $" + roundTwo.format(foxtrot.amount2) + "\n dit is geschreven naar een tekstbestand genaamd: compound9.txt.");
System.Exit (0);
} / / Main() methode close
} / / Sluit klasse compound9