Hi Community,
ich bin relativ neu beim Programmieren und versuche gerade meine erste "schweere Aufgabe" zu verwirklichen:
Ein Programm, dass eine beliebige Anzahl an double's aus der Konsole einließt und von klein nach groß sorteirt ausgiebt. Leider kommt immer eine Fehlermeldung. Das einlesen funktioniert noch, aber dannach kommt der Error.
Hier ist der Code:
Liebe Grüße und Danke im Vorraus.
Ps: Mein Programmierstil ist leider nicht allzu übersichtlich.
ich bin relativ neu beim Programmieren und versuche gerade meine erste "schweere Aufgabe" zu verwirklichen:
Ein Programm, dass eine beliebige Anzahl an double's aus der Konsole einließt und von klein nach groß sorteirt ausgiebt. Leider kommt immer eine Fehlermeldung. Das einlesen funktioniert noch, aber dannach kommt der Error.
Hier ist der Code:
Code:
import java.util.Scanner;
public class Reset {
static int position;
public static void main(String[] args) {
Scanner Eingabe = new Scanner(System.in);
System.out.print("Wie viele Zahlen wollen sie sortieren?");
int anzahl = Eingabe.nextInt();
System.out.println("Geben sie bitte ihre Zahlen ein:");
int use = 0;
double[] unsortiert= new double[anzahl];
while(use<anzahl){ //Eingabe der Zahlen
unsortiert[use] = Eingabe.nextDouble();
use++;
}
use = 0;
int[] positionen = new int[anzahl];
double[] fertig = new double[anzahl];
while(use<anzahl){
positionen[use]=Stelle(unsortiert[use], fertig, anzahl);
fertig[positionen[use]]= unsortiert[use];
use++;
}
use = 0;
int use2 =1;
while(use<anzahl){
System.out.println("Die " + use2 + ". Zahl ist " + fertig[use]);
}
Eingabe.close();
}
public static int Stelle(double x, double[] Feld, int Länge ){ //Herausfinden, an welche Stelle die Zahl gehört
int use = 0;
while(Länge>use){
if(x<Feld[use])
return use;
use++;
}
return Länge;
}
public static double[] Einsortieren(int x, double[] Feld, int Stelle, int Länge){ // Beginn der Einsortierungsmethode
int use = 0;
int use2 = Länge;
while(Länge>use){
if(x<Feld[use]){
while(x<Feld[use2]){
Feld[use2 + 1]=Feld[use2];
use2--;
}
Feld[use]=x;
return Feld;
}
use++;
}
return Feld;
}
}
Liebe Grüße und Danke im Vorraus.
Ps: Mein Programmierstil ist leider nicht allzu übersichtlich.