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.
 

2.1 KiB

Ohjelmaan on toteutettu valmiina pohja, joka lukee käyttäjältä lukuja listalle. Syötteiden lukeminen päätetään kun käyttäjä syöttää luvun -1.

Lisää ohjelmaan toiminnallisuus, joka lukujen lukemisen jälkeen etsii listalta listan suurimman luvun ja tulostaa sen arvon. Ohjelman pitäisi toimia esimerkkisuorituksen mukaisesti.

Ota mallia allaolevasta pienintä lukua etsivästä lähdekoodista:

// oletetaan, että käytössämme on lista, jossa on kokonaislukuja
int pienin = lista.get(0);
int indeksi = 0;
while (indeksi < lista.size()) {
int luku = lista.get(indeksi);
if (pienin > luku) {
pienin = luku;
}
indeksi = indeksi + 1;
}
System.out.println("Listan pienin luku: " + pienin);

Pohja: https://github.com/swd1tn002/mooc.fi-2019-osa3/blob/master/src/tehtava09/ListanSuurinLuku.java

Example output:
Syötä kokonaislukuja listalle (-1 lopettaa):
72
2
8
93
11
-1
Listan suurin luku: 93

ListanSuurinLuku.java

/* Tässä ei ole käytetty valmista pohjaa */
import java.util.ArrayList;
import java.util.Scanner;
public class ListanSuurinLuku {
public static void main(String[] args) {
Scanner syote = new Scanner(System.in);
int i, currentNumber, suurin = 0;
ArrayList<Integer> lukulista = new ArrayList<Integer>();
System.out.println("Syötä kokonaislukuja listalle (-1 lopettaa):");
while (true) {
try {
int luku = syote.nextInt();
if (luku == -1) {
break;
}
lukulista.add(luku);
} catch (NumberFormatException e) {
errorInvalidIntegerInput();
}
}
for (i = 0; i < lukulista.size(); i++) {
currentNumber = lukulista.get(i);
if (currentNumber > suurin) {
suurin = currentNumber;
}
}
System.out.printf("Listan suurin luku: %s\n", suurin);
}
private static void errorInvalidIntegerInput() {
System.err.println("Antamasi syöte ei ole kokonaisluku");
System.exit(1);
}
}