80 likes | 191 Views
Toiston tekeminen Javalla. Mikä toistorakenne on? w hile toistorakenne d o-while toistorakenne for toistorakenne. 1. Mikä toistorakenne on?. Java-ohjelma voidaan suorittaa peräkkäin alusta loppuun (peräkkäisrakenne) valiten tietyn ehdon mukaisesti (valintarakenne)
E N D
Toiston tekeminen Javalla Mikä toistorakenne on? while toistorakenne do-whiletoistorakenne for toistorakenne 1
Mikä toistorakenne on? • Java-ohjelma voidaan suorittaa • peräkkäin alusta loppuun (peräkkäisrakenne) • valiten tietyn ehdon mukaisesti (valintarakenne) • toistuvasti tietyn ehdon mukaisesti (toistorakenne) • Toistorakenteella toistetaan Java lauseita. Toiston avulla käyttäjältä voidaan esim. pyytää lukuja ja laskea niiden summa. 2
while (ehto) { lauseita; } while toistorakenne toistoja 0-n silmukkaan mennään, kun ehto on tosi ehto epätosi tosi lauseita 3
Tee ohjelma, joka kysyy asunnon myyntihinnan ja laskee asunnon myynnistä maksettavien välityspalkkioiden summan. Välityspalkkioita lasketaan niin kauan kuin myyntihinta on > 0. public static void main(String[] args) { finaldouble PALKKIOPROSENTTI = 3.44; finaldoubleMINPALKKIO = 2214.00; double myyntihinta, palkkio, summa = 0; Scannerinput = new Scanner(System.in); System.out.print("Annamyyntihinta: "); myyntihinta = input.nextDouble(); while (myyntihinta > 0) { palkkio = myyntihinta * (PALKKIO / 100.0); if(palkkio < MINPALKKIO) { palkkio = MINPALKKIO; } summa = summa + palkkio; System.out.print("Annamyyntihinta: "); myyntihinta = input.nextDouble(); } DecimalFormat f = new DecimalFormat("0.00"); System.out.println("Summaon " + f.format(summa)); } luetaan ensimmäinen myyntihinta silmukkaa toistetaan niin kauan kuin myyntihinta on suurempi kuin 0 luetaan seuraava myyntihinta
do-while toistorakenne do { lauseita; } while (ehto); toistoja 1-n silmukka suoritetaan uudestaan, kun ehto on tosi lauseita ehto tosi epätosi 5
Tee ohjelma, joka kysyy asunnon myyntihinnan ja laskee asunnon myynnistä maksettavien välityspalkkioiden summan. Välityspalkkioita pyydetään vähintään yksi ja sen jälkeen niin kauan kuin myyntihinta on > 0. loppuehdossa olevalle muuttujalle on annettava jokin alkuarvo, jotta koodi kääntyy silmukkaa toistetaan niin kauan kuin myyntihinta on suurempi kuin nolla finaldoublePALKKIOPROSENTTI = 3.44; finalint MINPALKKIO = 2214.00; double myyntihinta = -1.0, palkkio, summa = 0; do { System.out.print("Annamyyntihinta: "); myyntihinta = input.nextDouble(); if (myyntihinta > 0) { palkkio = myyntihinta * (PALKKIO / 100.0); if (palkkio < MINPALKKIO) { palkkio = MINPALKKIO; } summa = summa + palkkio; } } while (myyntihinta > 0); DecimalFormat f = new DecimalFormat("0.00"); System.out.println("Summa on " + f.format(summa));
for toistorakenne toistoja n ensin tehdään alustus. Sitten tutkitaan ehtolauseke. Jos ehto on totta, suoritetaan silmukka. Tämän jälkeen tehdään kasvatus. Ehto, silmukka ja kasvatus toistuu, kunnes ehto on epätosi. for (alustus; ehto; kasvatus) { lauseita; } alustus ehto epätosi tosi lauseita kasvatus 7
Tee ohjelma, joka kysyy asunnon myyntihinnan ja laskee asunnon myynnistä maksettavien välityspalkkioiden summan. Käyttäjältä kysytään, montako välityspalkkiota pyydetään. alustus ehto kasvatus finaldoublePALKKIOPROSENTTI = 3.44; finalint MINPALKKIO = 2214.00; double myyntihinta, palkkio, summa = 0; System.out.print("Montako myyntihintaa annat: "); intmaara= input.nextInt(); for (int i = 0; i < maara; i++) { System.out.print("Annamyyntihinta: "); myyntihinta = input.nextDouble(); palkkio = myyntihinta * (PALKKIO / 100.0); if(palkkio < MINPALKKIO) { palkkio = MINPALKKIO; } summa = summa + palkkio; } DecimalFormat f = new DecimalFormat("0.00"); System.out.println("Summa on " + f.format(summa)); 8