Hilfe Demo

bsargl7.

Mitglied
Meine Aufgabe ist es :
Sie haben in der Vorlesung Informatik verschiedene Sortieralgorithmen kennengelernt. Sie sollen hier praktisch untersucht werden.
1. Programmieren Sie ein Klasse Demo.java. In dieser Klasse sollen Sie eine Methode erzeugeArray() programmieren, die ein Array mit 100 Zufallszahlen zwischen 0 und 1000 zurückgibt. Desweiteren soll die Klasse eine Methode demonstriere() enthalten, die nach und nach die Sortieralgorithmen, die in den weiteren Aufgaben programmiert werden sollen aufruft.
2. Programmieren Sie eine Klasse Sortieren.java. In dieser sollen alle folgenden Methoden programmiert werden.
3. Als erstes sollen Sie den Selectionsort Algorithmus mit einer Methode selectionSort() demonstrieren. Geben Sie auf der Konsole das geordnete Array aus und verwenden Sie als Rückgabewert wie häufig eine Permutation durchgeführt worden sind.
4. Mit den gleichen Randbedingungen soll der Insertionsort Algorithmus mit einer Methode insertionSort() demonstriert werden.
5. Mit den gleichen Randbedingungen soll der Bubblesort Algorithmus mit einer Methode bubbleSort() demonstriert werden

Unten ist meine beide Klassen zu sehen. Meine Methode demonstriere funktioniert nicht. Ich habe alles mögliche versucht. Wo ist mein Fehler ?

[CODE lang="java" title="Demo"]import java.util.Random;
import java.util.Arrays;
import java.util.*;
/**
*Diese Klasse hat ein ein Array, der 100 Zufallszahlen zwischen 0 und 1000
*zurückgibt. Desweiteren soll die Klasse die nach
*und nach die Sortieralgorithmen, die in der Klasse "Sotieren" aufrufen.
*
* @author (Büsra Rasgele)
* @version (16.11.2021)
*/
public class Demo
{
private Random zufall;
private int obereGrenze;
int [] checkArray;

/**
* Konstruktor für Objekte der Klasse Demo
*/
public Demo()
{
zufall= new Random();
obereGrenze= 1000;

}

public int zufallsZahl(){
return(zufall.nextInt(obereGrenze)+1);
}

/**
* Gebe 100 Zufallszahlen zwischen den Zahlen 0-1000 aus.
* @return int zahlen (Zufallszahlen)
*/

public int[] erzeugeArray(){
int[]zahlen=new int [100];
for(int i=0;i<100;i++){
zahlen=zufallsZahl();
for (int j=0;j<i;j++){
if (zahlen ==zahlen[j]){
i--;
}
}
}
return zahlen;
}

/**
* Rufe die Sotieralgorithmen auf.
*
* @return selectionSort , permutationen
* @return insertionSort , permutationen
* @return bubbleSort , permutationen
*/
public void demonstriere(){
Sortieren sort= new Sortieren();


System.out.println("Start mit der SelectionSort Algorithmus");
int permutationen =sort.selectionSort(checkArray.clone());
System.out.println("Anzahl der Permutationen : " +permutationen);

System.out.println("Start mit der InsertionSort Algorithmus");
permutationen =sort.insertionSort(checkArray.clone());
System.out.println ("Anzahl der Permutationen : " +permutationen);

System.out.println ("Start mit der BubbleSort Algorithmus");
permutationen =sort.bubbleSort(checkArray.clone());
System.out.println("Anzahl der Permutationen :"+permutationen);

}
}[/CODE]
[CODE lang="java" title="Sortieren"]import java.util.Random;
import java.util.Arrays;
import java.util.*;
/**
*Diese Klasse soll dazu dienen, dass verschiedene Sortieralgorithmen(Selection, Insert, Bubble)
*aus der Klasse Demo die Zufallszahlen sortiert werden.
* @author (Büsra Rasgele)
* @version (16.11.2021)
*/
public class Sortieren
{
private int permutationen;
private int zahlen;

/**
* Konstruktor für Objekte der Klasse Sortieren
*/
public Sortieren()
{
permutationen = 0;

}

/**
* Gebe alle 100 Zufallszahlen aus der Klasse Demo sotiert zurück.
* @param zusotieren (das unsortierte Array)
* @return die Anzahl der Permutation //bis Array sotiert.
*/
public int selectionSort(int[] zusotieren) {
permutationen =0;
int temp;
for (int i = 0; i < zusotieren.length - 1; i++) {
for (int j = i + 1; j < zusotieren.length; j++) {
if (zusotieren > zusotieren[j]) {
temp = zusotieren;
zusotieren = zusotieren[j];
zusotieren[j] = temp;
}
}
}
return permutationen;
}

/**
* Gebe alle 100 Zufallszahlen aus der Klasse Demo sotiert zurück.
* @param zusotieren (das unsortierte Array)
* @return die Anzahl der Permutation //bis Array sotiert.
*/
public int insertionSort(int[] zusotieren) {
permutationen =0;
int temp;
for (int i = 1; i < zusotieren.length; i++) {
temp = zusotieren;
int j = i;
while (j > 0 && zusotieren[j - 1] > temp) {
zusotieren[j] = zusotieren[j - 1];
j--;
}
zusotieren[j] = temp;
}
return permutationen;
}

/**
* Gebe alle 100 Zufallszahlen aus der Klasse Demo sotiert zurück.
* @param zusotieren (das unsortierte Array)
* @return die Anzahl der Permutation //bis Array sotiert.
*/
public int bubbleSort(int[] zusotieren) {
permutationen=0;
int temp;
for(int i=1; i<zusotieren.length; i++) {
for(int j=0; j<zusotieren.length-i; j++) {
if(zusotieren[j]>zusotieren[j+1]) {
temp=zusotieren[j];
zusotieren[j]=zusotieren[j+1];
zusotieren[j+1]=temp;
}

}
}
return permutationen;
}
}
[/CODE]
 

temi

Top Contributor
Meine Methode demonstriere funktioniert nicht.

Was bedeutet "funktioniert nicht"?

In dieser Klasse sollen Sie eine Methode erzeugeArray() programmieren, die ein Array mit 100 Zufallszahlen zwischen 0 und 1000 zurückgibt.
[CODE lang="java" highlight="5-8"] public int[] erzeugeArray(){
int[]zahlen=new int [100];
for(int i=0;i<100;i++){
zahlen=zufallsZahl();
for (int j=0;j<i;j++){
if (zahlen ==zahlen[j]){
i--;
}
}
}
return zahlen;
}[/CODE]
Was soll die zweite Schleife da machen?
 

bsargl7.

Mitglied
Habe es jetzt so :



[CODE lang="java" title="methode erzeugearray"] public int[] erzeugeArray(){
int[]zahlen=new int [100];

}
return zahlen;
}[/CODE]
 

temi

Top Contributor
Es wäre sinnvoll die Methode erzeugeArray() irgendwo aufzurufen und das von dieser erzeugte und zufällig befüllte Array z. B. dem Array checkArray zuzuweisen, damit es auch einen Inhalt hat und nicht "null" ist.
 

Ähnliche Java Themen


Oben