java:arvonta
Harjoituksia
/********************************************** *** Ohjelma laskee lukuja yhteen, kunnes *** *** käyttäjä antaa luvun 0 *** **********************************************/ import java.io.*; class Summaaja { public static void main(String[] args) throws IOException { int summa=0, luku=0; String syote; BufferedReader lukija = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Ohjelma laskee syöttämiesi lukujen summan."); System.out.println("Lukujen syöttö lopetetaan antamalla luvuksi 0"); do { System.out.print("Anna luku :"); syote = lukija.readLine(); luku = Integer.parseInt(syote); summa = summa + luku; } while(luku != 0); System.out.println("Antamasi lukujen summa on " + summa); } }
- Kokeile yllä olevaa ohjelmaa
- Muuta yllä olevaa ohjelmaa siten, että summaaminen lopetetaan, kun luku on 0 tai summa > 1000.
- Tee ohjelma, joka muuntaa käyttäjän antaman Fahrenheit-asteet Celsius-asteiksi. Ohje: jos F on Fahrenheit-asteet, niin sitä vastaa <m>5/9(F-32)</m> Celsius-astetta. Muista tyyppimuunnokset!
- Tee ohjelma, joka tulostaa nopan silmäluvun. Ohje:
Math.random()
arpoo satunnaisluvun väliltä 0-1. Desimaaliluku pitää muuttaa välille alaraja … yläraja saadaan laskutoimituksella
(yläraja-alaraja)*Math.random()+alaraja
Mikäli tulos halutaan tallettaa int-tyyppiseen (kokonaisluku) muuttujaan, pitää tulos vielä pyöristää
Math.rint(arvonta)
litanialla ja vielä tehdä tyyppimuunnos. Täten koko litaniaksi tulee
(int)Math.rint((yläraja-alaraja)*Math.random()+alaraja)
Nopalla yläraja on 6 ja alaraja 1, litaniaksi tulee seuraava:
(int)Math.rint((6-1)*Math.random()+1)
eli
(int)Math.rint(5*Math.random()+1)
Välille 50-100 saadaan litanialla
(int)Math.rint(50*Math.random()+1)
Välille 0-100
(int)Math.rint(100*Math.random())
Välille -50…50
(int)Math.rint(100*Math.random()-40)
, koska <m>50-(-50)=100</m>!
java/arvonta.txt · Viimeksi muutettu: 2015/08/13 16:36 / 127.0.0.1
