Java Arrays?
Wir haben die Aufgabe bekommen dieses Programm umzuschreiben, sodass keine Schleifen vorkommen nur if, if else und else if. Sprich er soll sortieren aber nur mit den if abfragen.
Wir sollen Aufgabe 1 a) machen wie es oben in dem Bild geschrieben ist
public class Main
{
public static void main(String[] args)
{
//Array deklarieren und initialisieren
int[] array=new int[]{3,1,2};
//Array sortieren
for (int j=0; j<array.length-1;j++)
{
for (int i=0;i<array.length-1-j;i++)
{
//falls linkes Element größer > tauscht mit rechts
if(array[i]>array[i+1])
{
//tauschen
int memory=array[i];
array[i]=array[i+1];
array[i+1]=memory;
}
}
}
//Array ausgeben
System.out.println("Anzahl der Schritte: ");
//zählt die einzelnen zahlen bis er durch ist
for(int i=0;i < array.length;i++)
{
System.out.print(array[i]+" ");
}
}
1 Antwort
Hallo.
Wenn ich es richtig lese, hat das Array in Aufgabe 1a doch nur 3 Felder. Da reicht doch so ein Konstrukt, wie du es bereits im Code integriert hast:
if(array[1]<=array[0]) {
int memory = array[0];
array[1] = array[0];
array[0]=memory;
if(array[1]>=array[2]) {
memory = array[1];
array[1] = array[2];
array[2]=memory;
}
}
if(array[1]>=array[2]) {
int memory = array[1];
array[1] = array[2];
array[2]=memory;
if(array[1]<=array[0]) {
memory = array[0];
array[1] = array[0];
array[0]=memory;
}
}
Auch wenn das ohne Frage einfach nur hässlich und ein Krampf ist. Aber vermutlich soll die Übung euch nahelegen, wieso Schleifen erfunden wurden. 😉
Wobei die Aufgabenstellung nicht eindeutig ist. Sollen und müssen
- if
- else if
- else
nur jeweils 1x vorkommen, oder darf man sie nutzen, wie man lustig ist?
Woher ich das weiß:Studium / Ausbildung – Diplom Wirtschaftsinformatiker