Java :: Aufgabe #341 :: Lösung #1
1 Lösung
#341
Position im Array gesucht
Anfänger - Java
von JKooP
- 18.02.2021 um 20:06 Uhr
Gegeben ist ein sortiertes Array mit einer beliebigen Anzahl von Integer-Zahlen und eine Integer-Zahl,
deren Position/Index ermittelt werden soll. Ist die Zahl nicht vorhanden,
soll ebenfalls die Position bestimmt werden, an der sie im sortierten Array eingeordnet werden müsste.
Es können aber auch, je nach Programmiersprache bzw. Vorliebe, auch andere Daten-Container wie z.B. Listen oder Vektoren genutzt werden.
Beispiele:
Array = [1, 3, 5, 7, 9]
Zahl = 7
Lösung: 3
Array = [0, 1, 3, 7, 9]
Zahl = 2
Lösung: 2
Array = [1, 4, 6, 8, 9]
Zahl = 0
Lösung: 0
Array = [1, 3, 5, 7]
Zahl = 9
Lösung: 4
Hinweis: Array ist nullbasiert!
Erstelle eine Funktion/Methode, mit der die oben genannte Problemstellung gelöst werden kann.
Viel Spaß
deren Position/Index ermittelt werden soll. Ist die Zahl nicht vorhanden,
soll ebenfalls die Position bestimmt werden, an der sie im sortierten Array eingeordnet werden müsste.
Es können aber auch, je nach Programmiersprache bzw. Vorliebe, auch andere Daten-Container wie z.B. Listen oder Vektoren genutzt werden.
Beispiele:
Array = [1, 3, 5, 7, 9]
Zahl = 7
Lösung: 3
Array = [0, 1, 3, 7, 9]
Zahl = 2
Lösung: 2
Array = [1, 4, 6, 8, 9]
Zahl = 0
Lösung: 0
Array = [1, 3, 5, 7]
Zahl = 9
Lösung: 4
Hinweis: Array ist nullbasiert!
Erstelle eine Funktion/Methode, mit der die oben genannte Problemstellung gelöst werden kann.
Viel Spaß
#1
von n1again (560 Punkte)
- 22.04.2021 um 19:03 Uhr
import java.util.Arrays;
public class PositionImArrayGesucht {
public static void main(String[] args) {
int[] array = {1, 3, 5, 7};
int number = 9;
System.out.println("Array = "+Arrays.toString(array));
System.out.println("Zahl = "+number);
System.out.println("Lösung: "+getIndex(array, number));
}
public static int getIndex(int[] array, int number) {
//Zahl im Array suchen
for(int i = 0; i < array.length; i++) {
//number ist in Array enthalten
if(array[i] == number) {
return i;
}
//number ist kleiner als erster Wert
else if(array[0] > number) {
return i;
}
//number ist zwischen zwei Werten
else if(array[i] > number && array[i-1] < number) {
return i;
}
//number ist größer als letzter Wert
else if(i == array.length-1 && array[i] < number) {
return i+1;
}
}
return 0;
}
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
