(Java) Zahl in Array suchen

Aufrufe: 1572     Aktiv: 13.12.2020 um 13:59

0

enter image description here

Diese Frage melden
gefragt

Punkte: 18

 
Kommentar schreiben
1 Antwort
0

import java.util.ArrayList;

import java.util.Scanner;

public class SearchInRandomNumbers {

public static void main(String[] args) throws P1Exception {
    int numberCount = new Scanner(System.in).nextInt();
    int numberToSearch = new Scanner(System.in).nextInt();

    int[] randomNumbers = generate(numberCount);
    int[] positions = searchAll(numberToSearch, randomNumbers);
    for (int position : positions) System.out.print(position + " ");

    int lastPosition = searchLast(numberToSearch, randomNumbers);
    System.out.println("\n" + lastPosition);
}

public static int[] generate(int numberCount) throws P1Exception {
    if (numberCount <= 0) throw new P1Exception();
    int[] numbers = new int[numberCount];
    for (int i = 0; i < numbers.length; i++) {
        // generate a random number between 1 and 1000 (inclusive)
        numbers[i] = (int) (Math.random() * (1000) + 1);
    }
    return numbers;
}

public static int[] searchAll(int numberToSearch, int[] values) {
    ArrayList<Integer> indices = new ArrayList<>();
    for (int i = 0; i < values.length; i++) {
        if (values[i] == numberToSearch) indices.add(i);
    }
    int[] indices_array = new int[indices.size()];
    // copy values from list to array
    for (int i = 0; i < indices_array.length; i++) indices_array[i] = indices.get(i);
    return indices_array;
}

public static int searchLast(int numberToSearch, int[] values) throws P1Exception {
    int last = -1;
    for (int i = 0; i < values.length; i++) {
        if (values[i] == numberToSearch) last = i;
    }
    if (last == -1) throw new P1Exception();
    else return last;
}

static class P1Exception extends Exception {

    public P1Exception() {
        System.err.println("Exception");
    }
}

}

Bei dem Teil im Code, wo die zufällige Zahl generiert wird, habe ich jetzt einfach die Math.random() Funktion aus der Standardbibliothek verwendet. Dem Aufgabentext zufolge, sollst du dich bei der Erzeugung der Zahlen nach irgendeinem Muster mit den Lottozahlen aus der Vorlesung richten, das für dich als Hinweis (musst du dann noch implementieren)

Diese Antwort melden
geantwortet

Schüler, Punkte: 455

 

Kommentar schreiben