Käyttäjän työkalut

Sivuston työkalut


java:tietotyypit:tehtavia

1. Kokeile seuraavaa ohjelmaa:

class Elvis
{
      public static void main(String[] arguments)
      {
	     int paino = 120;
	     System.out.println("Elvis painaa " + paino);
	     System.out.println("Elvis käy syö-niin-paljon-kuin-haluat-"
					  + "kuppiloisa.");
	     System.out.println("Elvis esiintyy kiitospäivän juhlassa.");
	     paino=paino +10;
	     System.out.println("Elvis painaa nyt " + paino);
	     System.out.println("Elvis löytää aerobicin.");
	     paino=paino -15;
	     System.out.println("Elvis painaa nyt " + paino);
	     System.out.println("Elvis putoaa pesukoneeseen liotusvaiheen"
					     + "aikana.");
	     paino=paino /3;
	     System.out.println("Elvis painaa nyt " + paino);
	     System.out.println("Oho! Elvis kloonaa itsensä 12 kertaa.");
	     paino=paino +(paino *12);
	     System.out.println("13 pikku-Elvistä painaa nyt " + paino);
       }
}

2. Kirjoita seuraavat matemaattiset kaavat Java-tulkin ymmärtämään muotoon:

a)
b)
c)

3. Kokeile seuraavaa ohjelmaa:

class Esimerkki
{
	public static void main(String[] args)
	{
		int luku1 = 5, luku2 = 7;
		int summa, tulo;
 
		summa = luku1 + luku2;
		tulo = luku1 * luku2;
 
		System.out.println("Lukujen summa on " + summa);
		System.out.println("Lukujen tulo on " + tulo);
	}
}

4. Kokeile seuraavaa ohjelmaa:

class Ylivuoto
{
	public static void main(String[ ] args)
	{
	  byte luku=126;
 
	  System.out.println("luku on nyt "+luku);
	  luku++;
	  System.out.println("luku on nyt "+luku);
	  luku++;
          System.out.println("luku on nyt "+luku);
	  luku++;
	  System.out.println("luku on nyt "+luku);
	}
}

Talleta ohjelma nimellä Ylivuoto.java. Käännä ja aja ohjelma. Selitä mitä tapahtui ja miksi.

5. Mikä on kokonaislukumuuttujan a arvo seuraavien lauseiden jälkeen?

a = 2;
b = 3;
a = a + 2;
b = b * 2;
a = b + 1;
a = a + 5;

6. Lisää ohjelmaan maaginen koodi, joka vaihtaa muuttujien arvot keskenään, eli ohjelman lopussa muuttujan luku1 arvo on 10 ja muuttujan luku2 arvo on 5. Huom! Ohjelman pitää toimia myös muuttujien muilla arvoilla! Maaginen koodi saa sisältää ainoastaa sijoituslausekkeita =.

luku1 = luku2;
luku2 = luku1;

Ei toimi, vaan lopuksi muuttujien luku1 ja luku2 arvot ovat 10, eli arvo 5 hävisi. Korjaa koodi. (vihje: laita 5 muuttujan tasku arvoksi)

class Vaihto
{
	public static void main(String[] args)
	{
		int luku1 = 5, luku2 = 10, tasku;
		System.out.println("luku1 = " + luku1 + "ja luku2 = " + luku2);
 
		//... Maagista koodia ...
                luku1 = luku2;
                luku2 = luku1;
 
		System.out.println("luku1 = " + luku1 + "ja luku2 = " + luku2);
	}
}

7. Tee ohjelma, joka laskee lukujen 4, 7, 10 ja 5 keskiarvon. Tuloste on seuraava

Lukujen 4, 5, 7 ja 10 keskiarvo on 6.5

8. Talleta arvot 4, 5, 7 ja 10 muuttujiin ja käytä muuttujia tulostuslausekkeessa. Laske keskiarvo double-tyyppiseen muuttujaan keskiarvo. Muista tyyppimuunnokset!

class Keskiarvo
{
	public static void main(String[] args)
	{
		int luku1 = 4, luku2 = 5, luku3 = 7, luku4 = 10;
		double keskiarvo;
 
		... Koodia ...
	}
}

9. Muuta edellistä ohjelmaa siten, että se laskeekin lukujen 1, 2, 3 ja 4 keskiarvon.

10.Minkä tuloksen tietokone saa seuraavista laskuista? a) 9 / 10
b) 9.0 / 10.0
c) 1 / 10.0 + 1
d) 5 / 9 * (32 + 5)
e) 5.0 / 9.0 * (32 + 5)
f) 5.0 / 9.0 * (32.0 + 5.0)

Vihje: voit kopioida kaavat System.out.println(9/10)-lausekkeeseen ja katsoa tuloksen. Perustele, miksi mikäkin tulos tuli!

11. Mitkä seuraavista ovat sallittuja muuttujan nimiä?

matti 
matti meikalainen 
matti_meikalainen 
etunimi 
12etunimi 

12. Missä kohtaa ohjelmassa on virheitä?

class Virheellinen
{
  public static void main(String args[])
  {
    int luku1 = 1, luku2 = 2;
    double suhde = luku1 / luku2;
    String sana = luku1 / luku2;
 
    System.out.println("luku1 on " + luku1);
    System.out.println("luku2 on " + luku2);
 
    System.out.println("Lukujen summa on " + (luku1 + luku2));
    System.out.println("Lukujen suhde on " + suhde);
 
    sana = "Jonkinlainen lause";
 
    System.out.println(sana);
 
    luku3 = 5;
    luku2 = luku1 / luku3;
    sana = luku1 + 5;
  }
}

13. Tee ohjelma, jossa on kokonaislukutyyppiset muuttujat ika ja paino, desimaalimuuttuja pituus ja String-tyyppinen muuttujat etunimi ja sukunimi. Aseta muuttujille alkuarvot.

java/tietotyypit/tehtavia.txt · Viimeksi muutettu: 2015/08/13 16:54 / 127.0.0.1