Eli tuo sisämmäinen while lause pitäisi saada toimimaan kuten myös korko. Tarkoitus olisi että käyttäjä syöttäisi lyhennyskertojen määrän vuodessa ja korko pitäisi mukautua sen lyhennyskertojen määrän mukaisesti oikein. Miten kaavat tehtäisiin ?
for (vuosi = 1; vuosi
lainalaskuriongelma
15
681
Vastaukset
- dsfsdffd
Siis herjaako kääntäjä vai meinaatko että vain laskut menee väärin
whilellä pitää olla myös } sulku. Whilen ehdon, lyhennyskerrat jossain kasvaa että se tulee jossain kohtaa suuremmaksi kuin ehto.- java1221
Herjaa koska ehtolause ei ole oikein. En siis ymmärrä millainen lause pitäisi tulla jotta haluttu toiminta saadaan aikaiseksi. Sulkeet ym. ovat tuttuja, mutta kyse on tuosta while lauseen sisällöstä ja koron saantiin luodusta kaavasta ja mitä se pitää sisällään.
- Toteuta
java1221 kirjoitti:
Herjaa koska ehtolause ei ole oikein. En siis ymmärrä millainen lause pitäisi tulla jotta haluttu toiminta saadaan aikaiseksi. Sulkeet ym. ovat tuttuja, mutta kyse on tuosta while lauseen sisällöstä ja koron saantiin luodusta kaavasta ja mitä se pitää sisällään.
for lausekkaassa haluat varmaan käyttää primitiivi tyyppiä int, eli
for (int vuosi = 1; vuosi - java1221
Toteuta kirjoitti:
for lausekkaassa haluat varmaan käyttää primitiivi tyyppiä int, eli
for (int vuosi = 1; vuosiTuo vuosi on jo määritelty tuolla ohjelman alussa, siksi tuo mainittu for toimii jo oikein. Mutta tuo while lause:
while (lyhennyskerrat - Toteuta
java1221 kirjoitti:
Tuo vuosi on jo määritelty tuolla ohjelman alussa, siksi tuo mainittu for toimii jo oikein. Mutta tuo while lause:
while (lyhennyskerratno missä kohdassa sä kasvatat lyhennyskerrat muuttujan arvoa? ei näy...
korko = (lainamaara * korkopros *(lyhennyskerrat)/100*360 ;
// tossakin on sulku väärässä kohdassa? toisekseen jos on pelkkiä kerto ja jakolaskuja niin ei sulkuja tartte ollenkaan
korko = lainamaara * korkopros *(lyhennyskerrat/100)*360 ;
// olisko noin?
// ja sen lyhennyskerrat muuttujan arvon kasvatus, muutama esimerkki
while (lyhennyskerrat - foobarfoo
java1221 kirjoitti:
Tuo vuosi on jo määritelty tuolla ohjelman alussa, siksi tuo mainittu for toimii jo oikein. Mutta tuo while lause:
while (lyhennyskerratAluksi: korko-muuttujan laskemisessa on ylimääräinen kaarisulku. While-loopin lopusta puuttuu kanssa sulku. Seuraavaksi while-silmukan toiminta lyhyesti: While-silmukka suoritetaan niin kauan kun ehto on tosi, eli sinun while(lyhennyskerrat
- java1221
foobarfoo kirjoitti:
Aluksi: korko-muuttujan laskemisessa on ylimääräinen kaarisulku. While-loopin lopusta puuttuu kanssa sulku. Seuraavaksi while-silmukan toiminta lyhyesti: While-silmukka suoritetaan niin kauan kun ehto on tosi, eli sinun while(lyhennyskerrat
Tuossa koodia alusta alkaen. Siitä voitte katsoa mikä mättää. Kysymys mihin apua tarvitaan on lähinnä ongelma koodin sisällössä tuon while kohdan osalta ja korko kohdan osalta. Aaltosulkeet ym. laitan sitten aikanaan kuntoon kunhan ensin jotenkin saisi tuon laskutoimituksen koodiin oikein...
int vuosi;
float lyhennys;
float lainamaara;
float lainavuodet;
float maksuera;
float korko;
float korkopros;
float korkoyht;
float lyhennysyht;
float maksettavayht;
float lyhennyskerrat;
Scanner nappaimisto;
korkoyht=0;
lyhennysyht=0;
maksettavayht=0;
vuosi=0;
Locale.setDefault(Locale.ENGLISH);
nappaimisto = new Scanner(System.in);
System.out.println("Asuntolainalaskuri");
System.out.println("Anna lainamäärä?");
lainamaara = nappaimisto.nextFloat();
System.out.println("Montako kertaa vuodessa maksat lyhennyksiä?");
lyhennyskerrat = nappaimisto.nextFloat();
System.out.println("Anna laina-aika vuosissa?");
lainavuodet = nappaimisto.nextFloat();
System.out.println("Anna vuotuinen korkoprosentti?");
korkopros = nappaimisto.nextFloat();
if (lainavuodet > 0){
lyhennys = lainamaara / lainavuodet / lyhennyskerrat;
}
else{
lyhennys = 0;
}
System.out.print("");
System.out.print("");
System.out.format("%6s %12s %10s %14s %12s %n", "vuosi", "maksuerä", "korko", "lyhennys", "lainamäärä");
System.out.print ("----------------------------------------------------------------------------------");
for (vuosi = 1; vuosi - no eikö
java1221 kirjoitti:
Tuossa koodia alusta alkaen. Siitä voitte katsoa mikä mättää. Kysymys mihin apua tarvitaan on lähinnä ongelma koodin sisällössä tuon while kohdan osalta ja korko kohdan osalta. Aaltosulkeet ym. laitan sitten aikanaan kuntoon kunhan ensin jotenkin saisi tuon laskutoimituksen koodiin oikein...
int vuosi;
float lyhennys;
float lainamaara;
float lainavuodet;
float maksuera;
float korko;
float korkopros;
float korkoyht;
float lyhennysyht;
float maksettavayht;
float lyhennyskerrat;
Scanner nappaimisto;
korkoyht=0;
lyhennysyht=0;
maksettavayht=0;
vuosi=0;
Locale.setDefault(Locale.ENGLISH);
nappaimisto = new Scanner(System.in);
System.out.println("Asuntolainalaskuri");
System.out.println("Anna lainamäärä?");
lainamaara = nappaimisto.nextFloat();
System.out.println("Montako kertaa vuodessa maksat lyhennyksiä?");
lyhennyskerrat = nappaimisto.nextFloat();
System.out.println("Anna laina-aika vuosissa?");
lainavuodet = nappaimisto.nextFloat();
System.out.println("Anna vuotuinen korkoprosentti?");
korkopros = nappaimisto.nextFloat();
if (lainavuodet > 0){
lyhennys = lainamaara / lainavuodet / lyhennyskerrat;
}
else{
lyhennys = 0;
}
System.out.print("");
System.out.print("");
System.out.format("%6s %12s %10s %14s %12s %n", "vuosi", "maksuerä", "korko", "lyhennys", "lainamäärä");
System.out.print ("----------------------------------------------------------------------------------");
for (vuosi = 1; vuosisiihen annettu jo esimerkkiä edellisissä viesteissä...
- java1221
no eikö kirjoitti:
siihen annettu jo esimerkkiä edellisissä viesteissä...
Ei tuo korko osuus kyllä toimi siltikään oikein. Tulee ihan järjettömiä summia. Mikäs siinä vielä mättää ?
korko = lainamaara * korkopros *(lyhennyskerrat /100)*360; - Toteuta
java1221 kirjoitti:
Ei tuo korko osuus kyllä toimi siltikään oikein. Tulee ihan järjettömiä summia. Mikäs siinä vielä mättää ?
korko = lainamaara * korkopros *(lyhennyskerrat /100)*360;ne oli vain esimerkkejä lyhennyskerrat muuttujan arvon kasvatukseen, emmä sulle korkoja rupee laskeen. Tää foorumi kuitenki Java ohjelmoinnille tarkoitettu...
- ...
java1221 kirjoitti:
Tuossa koodia alusta alkaen. Siitä voitte katsoa mikä mättää. Kysymys mihin apua tarvitaan on lähinnä ongelma koodin sisällössä tuon while kohdan osalta ja korko kohdan osalta. Aaltosulkeet ym. laitan sitten aikanaan kuntoon kunhan ensin jotenkin saisi tuon laskutoimituksen koodiin oikein...
int vuosi;
float lyhennys;
float lainamaara;
float lainavuodet;
float maksuera;
float korko;
float korkopros;
float korkoyht;
float lyhennysyht;
float maksettavayht;
float lyhennyskerrat;
Scanner nappaimisto;
korkoyht=0;
lyhennysyht=0;
maksettavayht=0;
vuosi=0;
Locale.setDefault(Locale.ENGLISH);
nappaimisto = new Scanner(System.in);
System.out.println("Asuntolainalaskuri");
System.out.println("Anna lainamäärä?");
lainamaara = nappaimisto.nextFloat();
System.out.println("Montako kertaa vuodessa maksat lyhennyksiä?");
lyhennyskerrat = nappaimisto.nextFloat();
System.out.println("Anna laina-aika vuosissa?");
lainavuodet = nappaimisto.nextFloat();
System.out.println("Anna vuotuinen korkoprosentti?");
korkopros = nappaimisto.nextFloat();
if (lainavuodet > 0){
lyhennys = lainamaara / lainavuodet / lyhennyskerrat;
}
else{
lyhennys = 0;
}
System.out.print("");
System.out.print("");
System.out.format("%6s %12s %10s %14s %12s %n", "vuosi", "maksuerä", "korko", "lyhennys", "lainamäärä");
System.out.print ("----------------------------------------------------------------------------------");
for (vuosi = 1; vuosiwhile-lauseeseen tarvitaan oma kierroslaskuri. Muuttuja lyhennyskerrat ei käy siihen tarkoitukseen.
- java1221
... kirjoitti:
while-lauseeseen tarvitaan oma kierroslaskuri. Muuttuja lyhennyskerrat ei käy siihen tarkoitukseen.
olet oikeassa. Ongelma on että mikä sen pitäisi olla, mielestäni kun olen kokeillut jo kaikkia järkeviä mitä minulle tulee mieleeni...
- foobarfoo
java1221 kirjoitti:
olet oikeassa. Ongelma on että mikä sen pitäisi olla, mielestäni kun olen kokeillut jo kaikkia järkeviä mitä minulle tulee mieleeni...
Eli tarvitset laskurin, jossa sama arvo kuin lyhennyskerrat-muuttujalla ja jota pystyt muuttamaan.
for(ehto){
int laskuri = lyhennyskerrat;
while(laskuri < 12){
//laskut
laskuri--;
}
} - java1221
foobarfoo kirjoitti:
Eli tarvitset laskurin, jossa sama arvo kuin lyhennyskerrat-muuttujalla ja jota pystyt muuttamaan.
for(ehto){
int laskuri = lyhennyskerrat;
while(laskuri < 12){
//laskut
laskuri--;
}
}Eipä kyllä tuollakaan toimi.. Siitä tulee päättymätön simukka joka ei koskaan lopu, tuollahan laskuri toistaa itseään niin kauan kunnes lyhennyskerrat on alle 12 eli tässä tapauksessa aina. Parempia ideoita ? :)
- foobarfoo
java1221 kirjoitti:
Eipä kyllä tuollakaan toimi.. Siitä tulee päättymätön simukka joka ei koskaan lopu, tuollahan laskuri toistaa itseään niin kauan kunnes lyhennyskerrat on alle 12 eli tässä tapauksessa aina. Parempia ideoita ? :)
Et tee koodissasi missään tarkistusta, että lyhennysten määrä on alle 12 (et muutenkaan tarkistele noita syötettyjä tietoja).
Mutta kun pyysit parempaan ideaa, niin kokeillaan:
int laskuri = 0;
while(laskuri < lyhennyskerrat){
laskuri ;
}
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Kannattaako suomalaisen duunarin enää äänestää vasemmistopuolueita
sillä eivät ne tunnu kovasti ajavan suomi-duunarin etuja. Jos katsotaan Vasemmistoliittoa, niin sehän on ihan feministi2446104Jaaha, sitä on vasemmistoryhmä käynyt häiriköimässä Purran kodin vieressä
On näköjään iso lakana levitetty puiden väliin, jossa lukee mm. "Haista vi*** Riikka Purra". Tunkekaa leikkaukset pers..1285908Professori: Maahanmuuttajien rikollisuutta hyssytellään - hävytöntä
Kriminologi Jukka Savolaisen mukaan ikä ja vaikeat olosuhteet eivät riitä selitykseksi. – Tutkitun tiedon valossa sanoi2434986Päivi Räsänen vs. Abbas Bahmanpour
(Bahmanpour on imaami Helsingissä) Syyttäjä siis jahtaa edelleen Räsästä tämän H-puheista, joissa hän on ilmeisesti vaa324477Demokratian uhka: Perussuomalaiset ja polarisoiva "me ja muut" -ajattelu
Laurence Rees varoittaa, kuinka demokratian heikkeneminen ja autoritaaristen liikkeiden nousu voidaan liittää "me ja muu254327Mistä kummasta voi johtua se, että vasemmistolaiset usein häpeää itseään
voiko se johtua esim. köyhyydestä? Ja tästä on siis ihan suomalainen tutkimus olemassa. "Suomalainen tutkimus osoittaa634202Sanna-kulttilaiset hehkuttaa edelleen Marinia, vaikka esim. Sote oli susi jo syntyessään
mutta kulttilaiset eivät ole järjen jättiläisiä, ja sanoihin Lasse Lehtinenkin, että Suomessa on pohjoismaiden tyhmimmät684117Marin teki sen mihin muut eivät pystyneet, vei susi-Soten maaliin
ja sitten hävittyjen vaalien jälkeen lähtikin vastuuta pakoon...... "Professori: sote-uudistus on täysi susi. Sosiaali323678Palkansaajan oikeus nauttia työuransa hedelmistä
Työeläkejärjestelmä on verrattavissa pyramidihuijaukseen, jossa alemmat tasot, eli nykyiset palkansaajat, toimivat maksa582579En koskaan tule sinulle tätä kertomaan
Kun kirjoitin sinulle viimeisintä viestiä, huomasin kyynelten valuvan poskiani pitkin.561965