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