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.0 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 kysyy käyttäjältä lukua ja kertoo luvun indeksin. Mikäli lukua ei löydy, ohjelman ei tule kertoa siitä. Jos etsitty luku löytyy listalta monesta kohdasta, tulee kaikki indeksit tulostaa omilla riveillään.

Example output:
Syötä kokonaislukuja listalle (-1 lopettaa):
72
2
8
8
11
-1
Mitä lukua etsitään? 8
Luku 8 on indeksissä 2
Luku 8 on indeksissä 3

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


KysytynLuvunIndeksi.java

/* Tässä ei ole käytetty valmista pohjaa */
import java.util.ArrayList;
import java.util.Scanner;
public class KysytynLuvunIndeksi {
public static void main(String[] args) {
Scanner syote = new Scanner(System.in);
int i;
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();
}
}
try {
System.out.print("Mitä lukua etsitään? ");
int etsiLuku = syote.nextInt();
for (i = 0; i < lukulista.size(); i++) {
if (lukulista.get(i) == etsiLuku) {
System.out.printf("Luku %s on indeksissä %s\n", etsiLuku, i);
}
}
} catch (NumberFormatException e) {
errorInvalidIntegerInput();
}
}
private static void errorInvalidIntegerInput() {
System.err.println("Antamasi syöte ei ole kokonaisluku");
System.exit(1);
}
}