Java fundamentals through coding exercises
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

3.5 KiB

Tässä tehtävässä sinun tulee kirjoittaa luokka Numerot. Luokassa on oltava seuraavaksi kuvaillut metodit täsmälleen sellaisina kuin ne on esitetty.

public static int pienin(List arvot) Kirjoita metodi "pienin", joka ottaa parametrinaan listan kokonaislukuja (Integer) ja palauttaa pienimmän listalla esiintyvän kokonaisluvun.

public static int suurin(List arvot) Kirjoita metodi "suurin", joka ottaa parametrinaan listan kokonaislukuja (Integer) ja palauttaa suurimman listalla esiintyvän kokonaisluvun.

public static int summa(List arvot) Kirjoita metodi "summa", joka ottaa parametrinaan listan kokonaislukuja (Integer) ja palauttaa sen arvojen summan. Jos metodille annettu lista on tyhjä (pituus on 0), metodin tulee palauttaa summaksi 0.

Kirjoita myös main-metodi, jossa kokeilet haluamallasi tavalla, että kirjoittamasi metodit toimivat oikein. Voit kirjoittaa main-metodin samaan Numerot-luokkaan tai vaihtoehtoisesti myös erilliseen luokkaan, jota ei tarvitse palauttaa.

HUOM! Tässä tehtävässä main-metodisi saa tulostaa mitä tahansa, mutta pienin, suurin ja summa -metodit eivät saa tulostaa mitään. Metodit eivät saa myöskään muuttaa parametrina annettua listaa. Arviointi ei perustu kirjoittamaasi main-metodiin, vaan erilliseen valmiiksi kirjoitettuun testiluokkaan.

Example output:
## Testi 1 ##
Muodostetaan lista: [3, 42, 23, 98]
Listan pienin arvo on: 3
Listan suurin arvo on: 98
Listan arvojen summa on: 166
## Testi 2 ##
Muodostetaan lista: [98, 42, 5, 1, -70]
Listan pienin arvo on: -70
Listan suurin arvo on: 98
Listan arvojen summa on: 76

Numerot.java

import java.util.ArrayList;
import java.util.List;
public class Numerot {
public static void main(String[] args) {
List<Integer> lukulista = new ArrayList<Integer>();
lukulista.add(3);
lukulista.add(42);
lukulista.add(23);
lukulista.add(98);
Numerot.muodostaLista(1, lukulista);
//
lukulista.clear();
lukulista.add(98);
lukulista.add(42);
lukulista.add(5);
lukulista.add(1);
lukulista.add(-70);
Numerot.muodostaLista(2, lukulista);
}
public static void muodostaLista(int num, List<Integer> listaLuvut) {
System.out.printf("## Testi %d ##\n\n", num);
System.out.printf("Muodostetaan lista: %s\n", listaLuvut);
int pienin = Numerot.pienin(listaLuvut);
int suurin = Numerot.suurin(listaLuvut);
int summa = Numerot.summa(listaLuvut);
System.out.printf(
"Listan pienin arvo on: %d\n" +
"Listan suurin arvo on: %d\n" +
"Listan arvojen summa on: %d\n\n",
pienin, suurin, summa
);
}
public static int pienin(List<Integer> arvot) {
int i = 0, min = arvot.get(0);
while (i < arvot.size()) {
if (min > arvot.get(i)) {
min = arvot.get(i);
}
i++;
}
return min;
}
public static int suurin(List<Integer> arvot) {
int i = 0, max = arvot.get(0);
while (i < arvot.size()) {
if (max < arvot.get(i)) {
max = arvot.get(i);
}
i++;
}
return max;
}
public static int summa(List<Integer> arvot) {
int i = 0, sum = 0;
while (i < arvot.size()) {
sum += arvot.get(i);
i++;
}
return sum;
}
}