Feld mit Einsen und Nullen füllen und überschreiben

neerual

Mitglied
Guten Morgen,

ich probiere momentan ein Programm zu schreiben, dass eine Binärziffernfolge ableiten soll, undzwar soll wie folgt abgeleitet werden:

a=(a0, a1, ... , an-1); ai Element von {o,1} <- n-stellige Binärziffernfolge.
b=(b0, b1, ... , bn-1); bi Element von {0,1} <- n-stellige Ableitung der Binärziffernfolge.

Für i = 0, ... , n-1 gilt:
bi = 0 falls i = 0 und ai = 0
bi = 0 falls i > 0 und ai = ai - 1 (vorherige Stelle der Binärziffernfolge)
bi = 1 für alle anderen Fälle

Falls ich dahingehend ein kleines Beispiel posten soll, kein Problem. Einfach bescheid geben.
Hier einmal mein Code:
Code:
public class Uebung06Aufgabe2 {
    public static int binaryableitung (int a) {        //Methode
        int [] a = new int [n];             //Feld erzeugt, Länge = n
        for (int i = 0; i < n; i++)
            a[i] = Math.random()            //Füllt Feld mit Zahlen zwischen 1 und 0?
//Ableitung
        if (a[i] = 0 && i = 0) {
            return 0;
            }
        if (a[i] = a[i-1] && i > 0) {
            return 0;
            }
        else {
            return 1;
            }

    }
}

Mein Problem ist, dass ich nicht weiß, wie ich das Feld statt mmit Math.random() mit einem anderen Befehl mit Nullen und Einsen füllen kann. Und an sich lasse ich mir die Werte ja durch return zurück geben, aber wie lasse ich das Programm denn dann die einzelnen Stellen überschrieben?


Die komplette Aufgabe lautet wie folgt:
Gebenen Sie Java-Code einer rekursiven void-Methode an, die die Ableitung einer
Binärziffernfolge bestimmt.
Unter den Parametern der Methode befindet sich genau ein Feld mit Binärziffern.
Dieses Feld wird mit jedem Methodenaufruf weitergereicht und während der Abar-
beitung des Algorithmus mit der Ableitung überschrieben. Die Methode verwendet,
neben dem übergebenen Feld, kein weiteres Feld.
Wie sieht ein Aufruf der Methode aus?

Mir wurde bis jetzt immer super hier geholfen und ich hoffe ich nerve euch nicht schon mit meinen ganzen Problemen 😱
Ich geb mir schon wirklich Mühe, die Aufgaben vorher zumindest in meinen Unterlagen nachzulesen und ein bisschen zu googeln, ect., aber ich hab das Gefühl, dass ich immer ein paar Denkanstöße benötige. Also nochmal vielen Dank an alle die mir helfen! 🙂🙂
 
Ich verstehe zwar die Aufgabe nicht so recht, kann aber trotzdem etwas beitragen. Falls dein Code mehr Pseudocode sein soll, kannst du die nächsten Hinweise ignorieren...
* In deinen if() Abfragen muss es '==' heissen. Ein '=' ist eine Zuweisung.
* hinter Math.random() fehlt das ';'
auch kompilliert das nicht, da Math.random() einen double zurückgibt. Für den gilt >=0.0 und <1.0. darum würde auch ein Cast auf (int) nichts nützen. Wäre immer '0'
* Die Aufgabenstellung erwähnt die Methode solle nur einen Übergabeparameter haben. Und zwar keinen int, sondern ein 'Feld'. Ist es nicht so, das Lehrer (die gerne deutsche Bezeichner nutzen) damit ein Array meinen?
Auch sollte die Methode void sein. Also nichts zurückgeben.
 

Neue Themen


Zurück
Oben