====== 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 5/9(F-32) 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 50-(-50)=100!