Hey, ich habe ein problem!
Ich habe angefangen ein programm zu schreiben stehe aber vor einem Problem!
Programm:
Ich habe ein array(unsortiert), zB (1,3,7,4,2,9,4,2,9)
Davon will ich einmal den Index mit der Größten Zahl ausgeben lassen und einmal das Array Sortieren. Im folgenden mein Code.
Sortieren funktioniert. Bekomme nur die ausgabe vom Index nicht hin.
PS. Bin Java anfänger
Ich habe angefangen ein programm zu schreiben stehe aber vor einem Problem!
Programm:
Ich habe ein array(unsortiert), zB (1,3,7,4,2,9,4,2,9)
Davon will ich einmal den Index mit der Größten Zahl ausgeben lassen und einmal das Array Sortieren. Im folgenden mein Code.
Sortieren funktioniert. Bekomme nur die ausgabe vom Index nicht hin.
Java:
public class Index1
{
public int getZahl(int array[])
{
int max=array[0];
int i=1;
while(i<array.length)
{
if (array[i]>max)
{
max=array[i];
}
i++;
}
return max;
}
public static void sort(int[] array)
{
// Wir sezten Sortiert? auf True!
boolean sortiert = true;
do
{
sortiert = true;
// Nun gehen wir das Array komplett durch
for (int i = 1; i < array.length; i++)
{
// und vergleichen jedes Element mit dem linken Nachbar,
// deshalb fängt die for-Schleife auch mit 1 an und nicht mit 0.
if (array[i - 1] > array[i])
{
// Sollte das linke Element größer sein als das rechte,
// so werden diese beiden vertauscht (tmp gemerkt).
final int tmp = array[i - 1];
array[i - 1] = array[i];
array[i] = tmp;
// Und wir merken uns, dass das Array eben doch
// nicht sortiert war -> false.
sortiert = false;
}
}
// Die for-Schleife wird so lange durchlaufen,
// bis keine Vertauschungen mehr nötig sind (sortiert = true)
// Dies ist dann der Fall, wenn das array sortiert ist.
}
while (!sortiert);
// Diese Methode braucht auch keinen Rückgabewert,
// da das übergebene Array modifiziert wird.
}
// Ausgabe
public static void main(String[] args)
{
// Die Zahlen des zu sortierenden Arrays
int[] array = {5,8,9,4,6,3,7,2,1,8,10,145,24,895,246,1012};
System.out.println(array[max]); //falsch - ich weiß
// Springt nach oben zu 'sort' und durchläuft die Schleife
sort(array);
// Ausgabe geordnet
for (int i=0; i<array.length; i++)
{
System.out.println(array[i]);
}
}
}
PS. Bin Java anfänger