Java program för att beräkna kompoundering intresse



/ / detta program bestämmer mängden pengar som förvärras på 8%
över tid (subtrahera 30% per månad för skatter.
Kör det här programmet från kommandoraden.
Användaren uppmanas att ange antalet år som de vill investera,
belopp som de vill sätta in varje månad och det ursprungliga beloppet.
Resultat skickas till skärmen och text fil.
Distribueras under GNU GPL: www.gnu.org

import javax.swing.JOptionPane;
import java.io.*;
import java.text.DecimalFormat;

klass Compound9
{/ / Start klass Compound9
Deklarera variabler
flyta mike, mike2, mike3, mike4;
float intresse. Räntebeloppet
float belopp, amount2; Ursprungligt belopp investerat
dubbel i = 1;
float månader, months2; Antal månader pengar kommer att vara
deponeras/investerat; räknat från år
float MonthlyAmount; Beloppet deponeras varje månad
float initial, initial2; Första insättning
flyta, hotel2, hotel3;
int n;
Sträng linje;

Sträng bravo;
Sträng charlie;
int delta, redhat;
int echo;
int foxtrot;

Metoden att be användaren att ange antal år
Metoden returnerar float
float NumberYears() kastar java.io.IOException
{/ / Start NumberYears metod
int delta = 0;
float Hotell; Antal år pengar kommer att vara deponerade/investerat
Hotell = 0;
Sträng alpha;
göra {
försök {
Skriva ut mata in fråga till skärm
System.out.println ("\nHow många år vill du investera?");
Använd standard Indataströmmen i klassen System, mata tangentbordsinmatning
till variabel "isr" av InputStreamReader klass
InputStreamReader isr = nya InputStreamReader(System.in);
Feed information från variabeln "isr" till variabel "br" för BufferedReader klass
BufferedReader br = nya BufferedReader(isr);
Läst buffrade läsaren "br" i strängvariabel "alpha"
alpha = br.readLine();
Kastade strängen "alfa" i en flottör och returnera resultat
huvuddelen av programmet
Hotell = (Float.parseFloat(alpha));
delta ++; Increment göra-medan flaggan variabel om ett nummer anges
} / / end try loop

fånga (IOException golf) {/ / starta fångst för IOException
System.out.println ("IO fel - fel fångas:" + golf.getMessage());
golf.printStackTrace();
} / / End fånga IO undantag

Fånga undantag om skrivelse anges
fånga (NumberFormatException echo) {
System.out.println ("du inte angav ett nummer.");
System.out.println ("fel fångas; du angav: "+ echo.getMessage());
echo.printStackTrace();
När programmet når denna punkt, delta är fortfarande 0
Därför kommer det att göra loopen igen
} / / End fångst
} / / End do
medan (delta == 0);
Returnerar värdet i hotel till huvudprogrammet
returnera Hotell;
} / / End NumberYears metod

Metod för att få beloppet deponeras varje månad från användaren
float MonthlyDeposit() kastar java.io.IOException
{/ / Start MonthlyDeposit metod
göra
{/ / Start slinga
försök
{/ / Börja prova avsnitt
Skriva ut mata in fråga till skärm
System.out.println ("\nHow mycket du vill sätta in varje månad?");
Använd standard Indataströmmen i klassen System, mata tangentbordsinmatning
till variabel "isr" av InputStreamReader klass
InputStreamReader isr = nya InputStreamReader(System.in);
Feed information från variabeln "isr" till variabel "br" för BufferedReader klass
BufferedReader br = nya BufferedReader(isr);
Läst buffrade läsaren "br" i strängen variabel "bravo"
Bravo = br.readLine();
Kastade strängen "bravo" i en flottör
hotel2 = Float.parseFloat(bravo);
Om undantagsfel på raden före, foxtrot ++ hoppas över
Foxtrot ++;
} / / End try avsnitt

fånga (IOException xray) {
System.out.println ("IO fel - fel fångas:" + xray.getMessage());
xray.printStackTrace();
} / / End IOException

Fånga undantag om skrivelse anges
fånga (NumberFormatException hk) {
System.out.println ("du inte angav ett nummer.");
System.out.println ("fel fångas; du angav: "+ hp.getMessage());
hp.printStackTrace();
Foxtrot är fortfarande noll på denna punkt
} / / End fångst för NumberFormatException
} / / End loop
Flagga som bestämmer när göra-medan loopen avslutas
medan (foxtrot == 0);
återvända hotel2;
} / / End MonthlyDeposit metod

InitialAmount metod blir det ursprungliga investerade beloppet
float InitialAmount() kastar java.io.IOException {
göra {/ / Start slinga
försök {
System.out.println ("\nHow mycket är den ursprungliga investeringen?");
Mata in InputStreamReader "isr" på tangentbordet
InputStreamReader isr = nya InputStreamReader(System.in);
Foder InputStreamReader i BufferedReader
BufferedReader br = nya BufferedReader(isr);
Läsa BufferedReader i variabeln "charlie"
Charlie = br.readLine();
Kastade strängen "charlie" i float och sätta in variabeln "hotel3"
hotel3 = (Float.parseFloat(charlie));
Increment göra-medan flaggan variabel om ett nummer anges
redhat ++;
} / / End try avsnitt

fånga (IOException redhat2) {
System.out.println ("IOError - fel fångas:" + redhat2.getMessage());
redhat2.printStackTrace();
} / / End IO fånga uttalande

fånga (NumberFormatException suse) {
System.out.println ("du inte angav ett antal");
suse.getMessage();
suse.printStackTrace();
} / / End NumberFormat fångst
} / / End loop
medan (redhat == 0);
returnera hotel3;
} / / End InitialAmount metod

NegativeCheck-metoden kontrollerar för ett negativt tal
NegativeCheck(float kilo) {float
om (kilo < 0) {
System.out.println ("Skriv in ett positivt tal.");
Mike = 0;
} / / End om uttalande
annat {
Mike = 1;
}
returnera mike;
} / / End NegativeCheck

flyta months() / / metod för att beräkna antal månader
{
månader = år * 12;
System.out.println ("antal månader är:" + månader);
returnera månader.
}

Metoden att beräkna ränta, skriva ut den till den
på skärmen och skriva den till en fil
float beräkna (float months3, float initial2)
{
försök / / slinga för att försöka skriva till en fil
{
Fil temp = nya File("Compound9.txt"); Skapa ny fil
FileWriter fw = nya FileWriter(temp); Skapa ny FileWriter
BufferedWriter ut = nya BufferedWriter(fw); / / skapa ny BufferedWriter
Passera initial2 in variabeln "belopp"
summa = initial2;

Beräkna ränta för den första månaden
Beräkna månatliga intresse (.08/12)
8% årlig tillväxt (historiska avg för bestånd)
ränta = (float) (belopp *. 00667);
20% skatt tas ut
ränta = (float) (intresse *. 8);
Lades till att köra totalt
summa = (belopp + ränta);
Formatera utdata till 2 decimaler och sätta ett kommatecken i (amerikanska stil)
DecimalFormat roundTwo = ny DecimalFormat("###,###,###,###.##");
Information placeras i objektet String "line" skickas till fil
rad = ("Belopp efter" + i + "månader är $" + roundTwo.format(amount) + "\n");
Information som skickas till skärmen
System.out.println ("Belopp efter" + i + "månader är $" + roundTwo.format(amount));
Att skriva strängen "line" fil
out.write(Line);
Obs: Anledningen till att den första månaden intresse är skild från huvudloop är
eftersom jag ville se till att har den första månadens ränta endast beräknats
för den ursprungliga depositionen, inte den första insättningen plus deposition för den första månaden.
Loop beräknas från månad 2 framåt
Start för loop att bestämma kompoundering intresse. begränsas av antalet månader
för (jag = 2; jag < = months3; i ++)
{
Lägg till månatlig insättning på totala
summa = (belopp + MonthlyAmount);
Beräkna månatliga intresse (.08/12)
8% årlig tillväxt (historiska avg för bestånd)
ränta = (float) (belopp *. 00667);
20% skatt tas ut
ränta = (float) (intresse *. 8);
Lades till att köra totalt
summa = (belopp + ränta);
Formatera utdata till 2 decimaler och sätta ett kommatecken i (amerikanska stil)
DecimalFormat roundTwo = ny DecimalFormat("###,###,###,###.##");
Information placeras i objektet String "line" skickas till fil
rad = ("Belopp efter" + i + "månader är $" + roundTwo.format(amount) + "\n");
Information som skickas till skärmen
System.out.println ("Belopp efter" + i + "månader är $" + roundTwo.format(amount));
Att skriva strängen "line" fil
out.write(Line);
} / / End for-loop
out.Close(); Nära textfil
} / / End try loop

fånga (undantag e) {/ / fånga undantag om kan inte skriva filen
System.out.println ("ett fel har inträffat:" + e.toString());
} / / End fångst
tillbaka beloppet;
} / / End beräkna metod

Starta huvudsakliga metod, tala om för programmet att kasta IO undantag
public static void main (String [] argument) kastar java.io.IOException
{
Be användaren att svara på kommande frågor med dialogen låda
() JOptionPane.showMessageDialog
null, "var god svara på följande frågor.");

Skapa nya handtag kallas "foxtrot" av typen "Compound9"
Koppla handtag till nya "Compound9" objekt
Compound9 foxtrot = nya Compound9();

Få antal år
göra {
returnera variabel "hotel" förs in variabeln "år"
Foxtrot.years = foxtrot. NumberYears();
passera variabel "år" i NegativeCheck metod
resultatet går in i "mike2"
Foxtrot.mike2 = foxtrot. NegativeCheck(foxtrot.years);
} / / End do
om "mike" är lika med 0, är användaren bad om information igen
While(foxtrot.mike2 == 0);
System.out.println ("antalet år som du angett är:" + foxtrot.years);

Får beloppet per månad deponeras
göra {
återvändande variabeln "hotel2" skickas till variabeln "MonthlyAmount"
Foxtrot. MonthlyAmount = foxtrot. MonthlyDeposit();
passera variabeln "MonthlyAmount" i NegativeCheck metod
resultatet går in i "mike3"
Foxtrot.mike3 = foxtrot. NegativeCheck (foxtrot. MonthlyAmount);
} / / End loop
om mike3 är 0, är användaren bad om input igen
medan (foxtrot.mike3 == 0);
System.out.println ("beloppet per månad anges är:" + foxtrot. MonthlyAmount);

Får första beloppet deponeras
göra {
Returnera variabel "redhat" och placera i variabeln "ursprungliga"
Foxtrot.Initial = foxtrot. InitialAmount();
Passera "ursprungliga" in i NegativeCheck metod och tillbaka resultatet till "mike4"
Foxtrot.mike4 = foxtrot. NegativeCheck(foxtrot.initial);
} / / "mike4" är 0, användaren kommer bli tillfrågad om input
medan (foxtrot.mike4 == 0);
System.out.println ("det ursprungliga budgetbeloppet är:" + foxtrot.initial);

Månader-metoden för att fastställa antalet månader
Foxtrot.months2 = foxtrot.months();
Samtal beräkna metod för att beräkna ränta
Foxtrot.amount2 = foxtrot.calculate (foxtrot.months2, foxtrot.initial);

Skapa "roundTwo" objekt i DecimalFormat klass formateras korrekt utdata

DecimalFormat roundTwo = ny DecimalFormat("###,###,###,###.##");

Visa resultat för användare på kommandoraden
System.out.println ("\nThe initialt belopp på $" + foxtrot.initial + "efter lägga till $" + foxtrot. MonthlyAmount + "per månad");
System.out.println ("för" + foxtrot.years + "år och växer med 8% per år (med 20% tas bort för skatter)");
System.out.println ("blir >>>>>>>> $" + roundTwo.format(foxtrot.amount2) + "<<<<<<<<<" + "\n");
System.out.println ("detta har skrivits till en textfil med namnet: compound9.txt.\n");

Visa resultat för användaren i dialogrutan
() JOptionPane.showMessageDialog
null, "Ursprungligt belopp mängden $" + foxtrot.initial + "efter lägga till $" + foxtrot. MonthlyAmount + "per månad för" + foxtrot.years + "år \n och växer med 8% per år (med 20% tas bort för skatter) blir >> $" + roundTwo.format(foxtrot.amount2) + "\n detta har skrivits till en textfil kallas: compound9.txt.");
System.Exit (0);

} / / Nära Main () metod
} / / Nära klass compound9

Relaterade Ämnen

Metod för att beräkna kvadratsumman av nummer från 1 till 125, utan att använda penna eller miniräknare.

Detta är en de mest intressanta vedisk matematik teknikerna för att lära. Det är mycket lätt att förstå och minnas. Detta hjälper dig att göra snabba beräkningar som annars är långa.Du behöver bara komma ihåg rutor av nummer från 1 till 25. Excel-fil...

Med Punnett rutor att beräkna fenotypiska sannolikheter

IntroduktionBakgrundPunnett kvadrerar är ett diagram som biologer använder för att bestämma sannolikheten för att en avkomma med en viss egenskap. Att skapa en Punnett torget och använder den för att bestämma egenskaper hos avkomma kallas utför ett k...

Hur att beräkna axelns vikter av Standard 2-axlig 4 x 2 klass 6 lastbil

Vill du lägga till lite spänning och äventyr i ditt liv?Få ett deltidsjobb, riggning och köra en Flatbädd lastbil!Så många klass 6 lastbilar (26 000 pund högsta rättsliga vikt) på vägen drivs av dem som har en allmän klass C körkort, och bra färdregi...

Cash Flow kalkylator för att beräkna din portfölj avkastningsgraden

En Cash flow kalkylator har blivit en nödvändighet i dagens liv. Det kommer att underlätta gör en plan för både personlig och affärsekonomi. Denna kalkylator har gjort det lättare för många att förstå kassaflöde listorna. Den insikt som har gått ett...

Hur man skapar algoritm för att beräkna torg snabbare i IQ tentor och utmaningar

Det är mycket viktigt att spara tid, när du måste lösa flera frågor i en minut.Det är därför jag gör dessa algoritmer för att spara tid och samtidigt ger examen.Jag kommer att visa dig, hur kan du göra en.Om du har några frågor, vänligen kommentar ne...

Hur att beräkna makron för skära och bulkmedel

Steg för steg få tutorials på hur man beräknar protein, carb och fett belopp för korrekt bulking eller skära för att maximera fett förlust/muskel samtidigt minimera förlust, fett och muskelmassa....

Beräkna ljushastigheten genom handdesinfektion!

i detta projekt, vi kommer att använda Snells lag till vår fördel för att beräkna brytningsindex, och därmed rusat av ljust av med hand sanitizer medium.Steg 1: inställningar Inrätta optik kit med ray bord/bänk, laser/ljuskälla och plan-konvex fack....

Beräkna och rita kilar för en quassi halv sfär eller dome. 2D till 3D-yta

Först måste du veta att dessa instruktioner inte alla exakt. Några kurvor få approximeras av räta linjer, vissa vinklar få approximerade till rät vinkel när de faktiskt inte är. Men i slutändan får du en godtagbar semi sfär.Steg 1: Definiera storleke...

Beräkna Data: SPSS (3.6)

situationer kan uppstå när data transformation är användbart. De flesta data transformationer kan utföras med kommandot Beräkna. Detta kommando kan datafilen manipuleras för att passa olika statistiska föreställningar. Årsomsättning på varje säljares...

Beräkna termisk prestanda av ett system för solvärme

flera personer har skrivit kommentarer om termiska egenskaperna för elementet mottagare och hur den kan förbättras. Här kommer jag att täcka vissa grundläggande termodynamiska principer som leder till mönster som kan visa bättre termisk prestanda. De...

Beräkna motstånd utan beräkning av

Du har tröttnat på kontrollera värdet av motstånd varje gång genom att använda en multimeter eller genom att skriva värdet på motståndet strip.Du skulle inte motstånd värde nästa gång. Så här är det..:)Steg 1: Låt oss göra detDe flesta motstånd har 5...

Beräkna effektiviteten av din DIY Stormkök etc.

Det finns många exempel på internet där människor visar deras DIY camping spisar av olika slag. Det finns många funktioner för att mäta effektiviteten av - storlek, vikt, design och så vidare. Men i detta instructable jag försöka visa hur man kan ber...

Mexikanskt... Watt?? Beräkna watt på motorer med förstärkare och Volt avläsningar.

Numera är det lätt att mäta watt till hushållsmaskiner med Kill-A-Watt meter. Dock bor i Mexiko, beställa en över gränsen skulle vara kostnadseffektivt oöverkomliga som fraktkostnader skulle vara högre än kostnaden för mätaren själv, och det är utan...

Beräkna ett företags kritiska punkten

För att starta, är den "kritiska punkten" scenen på vilken inkomst från försäljning av en produkt eller tjänst motsvarar investerade kostnaderna för denna produkt. Kort sagt, är det scenen på vilken inkomst motsvarar utgifter, vilket resulterar...

Hur man beräkna och rita skeva och Böjande ögonblick diagram

dessa instruktioner kommer att hjälpa dig att beräkna och rita skjuvning och Böjande ögonblick diagram, samt Rita den resulterande deformationen. Att veta hur man beräkna och rita dessa diagram är viktiga för någon ingenjör som sysslar med någon typ...

Internationella Ocean rederier – beräkna fraktkostnader

Det är inte okänt att utomeuropeiska sjöfarten är en dyr affär. Så, när du behöver dina varor skeppas över till en annan plats, du kan vara mycket nytta om du kan beräkna kostnaden för hela verksamheten. Det finns många faktorer som påverkar kostnade...

Kodning Brainboxes Remote IO enhet att räkna

Denna guide kommer att använda Visual Studio visual C#. Det kommer att kodar för 2 ED ingående linjer som heter "veckans counter" och "dagliga disk". Du kan kalla dem vad du vill, dessa rader är inte anslutna på något sätt. Varje ED in...

HUR du MÄTER din elförbrukning och beräkna kostnaderna

hur man kan mäta och beräkna din ELANVÄNDNING och räkna ut hur mycket pengar dina utgifterDetta är mycket användbart även om ditt tänkande med att köra din elnätet utrustning av rutnät med vind- och solenergi...

Beräkna din Miles Per Dollar

Miles Per Gallon. Gamla hederliga.Möt MPD, eller Miles Per Dollar. MPD är mer användbar än MPG för ett par anledningar:1) det ger en realistisk känsla av vad du spenderar.2) det gör det lättare att jämföra kostnaden för fordon som använder olika ener...