Programmering A java hjälp eller tips

Permalänk

Programmering A java hjälp eller tips

Tjoo!

Sitter här och knaprar kod. nu har jag kommit till en uppgift när jag ska skriva ett program som räknar ut hur mycket Mio har på sitt konto efter 20 år med ränta. Grejjen är den att jag vet hur jak kan skriva det igentligen, men det måste vara en for-sats med och jag har ingen aning vadd jag ska använda denna till.

så här ser det ut. Varje årsskifte sätter Mio in 1000kr
årsräntan är hela 5% alltså insättning*1.05
hur mycket finns det på Mios konto inklusiver ränta då det gått 20 år och efter den första insättningen och efter Mio har satt in sitt 21a belopp.

int insättning = 1000; double ränta = 1.05; int år = 20; int belopp = insättning*ränta; int summa = belopp*år; int totalt = summa + insättning; System.out.print(totalt);

lite slarvigt, men grejjen är att jag har ingen aning om vad jag ska ha for-satsen till? någong som vill hjälpa mig på rätt väg?
Tack på förhand!

Permalänk
Entusiast

For-satsen har du till att simulera ett år. Så du låter for-satsen loopa 20 gånger och varje gång lägger den till 1000kr till bankkontot. Sen läser den in hela bankkontot och lägger till 5% ränta på det, sen sparar det i den variabeln igen. Sen gör den om det igen tills den har gjort det så många gånger du har specificerat (20)

Permalänk

Jag vill helst inte skriva hela koden, då du behöver lära dig detta (annars hade ju kursen varit rätt värdelös), men jag kan ge ett exempel som används ofta inom all programmering, som du lär använda väldigt ofta i framtiden.

int antalLoopar = 5; int tal1 = 1; int tal2 = 2; int summa = 0; for(int i = 0; i>antalLoopar; i++){ //i>antalLoopar ger 5 loopar, eftersom den börjar på 0 summa += tal1 + tal2; System.out.println(summa + "(" + summa-3 + "+" + tal1 + "+" + tal2 + ")"); }

Output kommer då bli:
3 (0+1+2)
6 (3+1+2)
9 (6+1+2)
12 (9+1+2)
15 (12+1+2)

Hoppas det hjälper, resten är bara att få in dina siffror och matten specifik för din uppgift.

Visa signatur

Stationär: Processor: Intel i5 3.2GHz, RAM: 4Gb, Grafikkort: ATI Radeon HD 5850, OS: Windows 7 Proffessional x64
Laptop: ASUS K53E, Processor: Intel i5 2450M, RAM: 4Gb, Grafik: Integrerad Intel GMA HD, OS: Win7 Home Premium x64 och Xubuntu 10

Permalänk
Medlem

Anledningen till varför du måste använda en for-loop är att din beräkning som du har skrivit är fel.

Första året har du satt in 1000:-, räntan på det är 5% du får då 1050 vid årets slut.
Följande år så lägger du till ytterligare 1000:- Totalt har du nu 2050 som du ska räkna 5% ränta på vilket resulterar i 2152 vid årets slut.

Med ditt sätt att räkna så skulle du bara ha 2100 vid slutet av andra året.

Permalänk

Tusen tack för all hjälp. nu har ja lite mer förståelse i just vad man kan använda for-satsen till
ska genast sätta mig och skriva ihop det hela, postar den när jag är klar fall någon är intreserad av och se hur det blev

Tusen tack!

Permalänk

Tack alla som hjälpte mig, såhär ser min ny börjar kod ut

//Insättning public class Uppgift74{ public static void main(String[] args){ double ränta = 1.05; int konto = 0; int antalår = 20; int insättning = 1000; for(int n =0; n <= antalår; n++){ konto += insättning; konto *= ränta; // System.out.print(konto); } System.out.print(konto + insättning); } }

Lite mer insatt i nu hur en for-sats fungerar, hade inte alls koll på det inna, tack för all hjälp!

Permalänk
Medlem
Skrivet av Niklas807:

Tack alla som hjälpte mig, såhär ser min ny börjar kod ut

Lite mer insatt i nu hur en for-sats fungerar, hade inte alls koll på det inna, tack för all hjälp!

Tänk på att din loop börjar på 0 och går till och MED 20, dvs 21 iterationer

Visa signatur

Spelrigg: 800D| i7 3930K@4,7 GHz - Custom WC | 32 GB Kingston HyperX Beast | 7970 GHz X-Edition |1x30 Dell U3011, 2x27" | Sennheiser HD650 | Xonar Essence STX |
Laptop: G74SX 17,3" 120 Hz 3D |
Server: Phenom II X4 955BE | Corsair XMS3 8 GB | 16 HDDs, 27 TB |
HTPCs: ASUS EEE Box 1.8 Ghz | Blu-Ray | OCZ Vertex 2 60 GB | 4 GB RAM |

Permalänk
Medlem
Skrivet av Gnejs:

Tänk på att din loop börjar på 0 och går till och MED 20, dvs 21 iterationer

Och att jag är hyfsat säker på att räntan bör beräknas först, annars får man ju ränta på det man precis satt in också :P. Den banken skulle jag gillat

Visa signatur

Lian Li PC-O11 Mini || i9 10850K || MSI MEG Z490i UNIFY || EVGA RTX 3070 XC3 Ultra || 32GB G.SKILL Trident Z Neo 3600MHz CL16 || WD SN550 1TB && Samsung 970 EVO 500GB && OZC Trion 480GB || Corsair SF750 Platinum
Dell S2721DGFA|MSI MAG341CQ
BenQ W1300 | Yamaha RX-A830 | Playstation 3

Permalänk

hehe ja jag tänkte jag skulle starta den första rättvisa banken nej men tack för det, missat o tänka på helt

tack för all hjälp

Permalänk
Skrivet av morphman86:

Jag vill helst inte skriva hela koden, då du behöver lära dig detta (annars hade ju kursen varit rätt värdelös), men jag kan ge ett exempel som används ofta inom all programmering, som du lär använda väldigt ofta i framtiden.

int antalLoopar = 5; int tal1 = 1; int tal2 = 2; int summa = 0; for(int i = 0; i>antalLoopar; i++){ //i>antalLoopar ger 5 loopar, eftersom den börjar på 0 summa += tal1 + tal2; System.out.println(summa + "(" + summa-3 + "+" + tal1 + "+" + tal2 + ")"); }

Output kommer då bli:
3 (0+1+2)
6 (3+1+2)
9 (6+1+2)
12 (9+1+2)
15 (12+1+2)

Hoppas det hjälper, resten är bara att få in dina siffror och matten specifik för din uppgift.

Inte för att det spelar någon som helst roll, men din kodsnutt lär inte göra mycket väsen av sig:

int antalLoopar = 5; .. .. for(int i = 0; i>antalLoopar; i++){...

Permalänk
Medlem
Skrivet av metalgubben:

Inte för att det spelar någon som helst roll, men din kodsnutt lär inte göra mycket väsen av sig:

int antalLoopar = 5; .. .. for(int i = 0; i>antalLoopar; i++){...

Exakt! Tråkigt för den killen om han alltid använder trasiga for-loopar, haha

Visa signatur

Deny Everything.

Permalänk

>.<
Skall nog sluta posta stressade inlägg här när jag är trött
>.<

Självklart skall det vara "<", inte ">".

Visa signatur

Stationär: Processor: Intel i5 3.2GHz, RAM: 4Gb, Grafikkort: ATI Radeon HD 5850, OS: Windows 7 Proffessional x64
Laptop: ASUS K53E, Processor: Intel i5 2450M, RAM: 4Gb, Grafik: Integrerad Intel GMA HD, OS: Win7 Home Premium x64 och Xubuntu 10