Zählen der Zeiger auf Objekte

Sonnenblume123

Aktives Mitglied
Hallo,
ich hab folgende Klasse gegeben, wo ich nur die Methodenrümpfe verändern darf. Sowie außerhalb der Methodenrümpfe, z.B für Attribute.
Code:
interface Freeable {
    default void free() {
        System.out.println(this + " is now free!");
    }
}

final public class SmartPointer<T extends Freeable> {
    /**
     * @returna SmartPointer pointing to a newly allocated T.
     */
    public static <T extends Freeable> SmartPointer<T> make(T target) throws IllegalArgumentException;

    /**
     * @return a SmartPointer pointing to nothing.
     */
    public static <T extends Freeable> SmartPointer<T> nullPointer();

    /**
     * @return true iff X is a NullPointer
     */
    public boolean isNull();

    /**
     * @return the target of this pointer or null iff isNull()
     */
    public T get();

    /**
     * After assigning this to to, to Points to the same Object as from
     */
    public void assign(SmartPointer<T> to);

    /**
     * Releases the pointer. Afterwards, X is a NullPointer.
     */
    public void release();

    /**
     * Prints the Object, that this points to. Prints an error message iff
     * isNull().
     */
    @Override
    public String toString();
}

Jetzt hab ich bisher das, was gerade im Anfangsstadium ist. Zum Beispiel hab ich noch keine Verbindung zwischen ref und id und get ist noch falsch. Nur komm ich nicht weiter und würde gerne um Tipps bitten.
Code:
interface Freeable {
    default void free() {
        System.out.println(this + " is now free!");
    }
}

final public class SmartPointer<T extends Freeable> {
    private SmartPointer<T> smartpointer;
    private String ref;
    private T id;
   
    public SmartPointer(T object) {
        smartpointer = new SmartPointer<>(object);
        ref = null;
        id = null;
    }
    public SmartPointer() {
        smartpointer = new SmartPointer<>();
    }
   
    /**
     * @return a SmartPointer pointing to a newly allocated T.
     */
    public static <T extends Freeable> SmartPointer<T> make(T target) throws IllegalArgumentException {
        SmartPointer<T> smartpointer2 = new SmartPointer<>(target);
        return smartpointer2;
               
    }

    /**
     * @return a SmartPointer pointing to nothing.
     */
    public static <T extends Freeable> SmartPointer<T> nullPointer() {
        SmartPointer <T> smartpointern = new SmartPointer<>();
        return smartpointern;
    }

    /**
     * @return true iff X is a NullPointer
     */
    public boolean isNull() {
        SmartPointer <T> smartpointern = new SmartPointer<>();
        return true;
    }

    /**
     * @return the target of this pointer or null iff isNull()
     */
    public T get() {
        if(isNull()) {
            return null;
        }
        return null;
    }

    /**
     * After assigning this to to, to Points to the same Object as from
     */
    public void assign(SmartPointer<T> to) {
    }

    /**
     * Releases the pointer. Afterwards, X is a NullPointer.
     */
    public void release() {
       
       
    }

    /**
     * Prints the Object, that this points to. Prints an error message iff
     * isNull().
     */
    @Override
    public String toString() {
        if(id == null) {
            System.err.println("Es wird auf einen Nullzeiger gezeigt.");
        }
        return id.toString();
    }
}
 

httpdigest

Top Contributor
Und was ist jetzt deine konkrete Frage und womit hast du ganz konkret ein Problem?
Ich sage nur soviel:
- Warum sollte ein SmartPointer als Instanzfeld nochmal einen weiteren SmartPointer haben?
- Was soll denn bitte String ref sein? Warum ein String?
- Das einzige sinnvolle Attribut/Feld ist T id, nur, dass ich das in `target` umbenennen würde, um mit dem JavaDoc des vorgegebenen Aufgabenteils übereinzustimmen.
- Dein parameterloser SmartPointer() Konstruktor erzeugt bei Aufruf eine Endlosrekursion und somit eine StackOverflowException
- isNull() ist sehr merkwürdig implementiert. Warum liefert das immer true zurück und warum instanziiert es einen neuen SmartPointer, nur um ihn wieder zu vergessen?
- Überleg doch einfach erstmal, was diese "SmartPointer" Klasse konzeptuell eigentlich sein soll. Es wrapped ja eigentlich nur eine Referenz auf ein T, welches das "target" sein soll. Somit sind doch die Implementierungen der ganzen Methoden schon ziemlich klar. Z.B. in isNull() würde ich einfach nur schreiben: return target == null; und in get() einfach: return target;
Wenn man sich wirklich nur an das hält, was die Methoden JavaDoc verlangt, dann sollten die Methodenimplementierungen ziemlich trivial sein.
 

Sonnenblume123

Aktives Mitglied
Ja, hab vergessen zu erwähnen, dass manche Methoden nicht fertig implementiert sind. Wieso erzeugen diese eine Endlosrekursion?
Ich hab zum Beispiel ein Problem mit der ersten Methode, weil ich nicht weiß, ob sie so stimmt...
 

httpdigest

Top Contributor
Hast du deinen eigenen Code irgendwann mal ausgeführt?
Probier's doch einfach mal aus. Erzeug mal ein SmartPointer per new SmartPointer();.
Wenn der Konstruktor aufgerufen wird, erzeugt er selber einen neuen SmartPointer, dessen Erzeugung ja den Konstruktor aufruft, welcher wieder einen neuen SmartPointer erzeugt, dessen Erzeugung im Konstruktor einen neuen SmartPointer erzeugt, dessen Erzeugung im Konstruktor einen neuen... usw.
Die einzigen Methoden (inklusive Konstruktoren), bei denen ich sagen würde, sie sind "korrekt", wären make(T) und nullPointer().
 

Sonnenblume123

Aktives Mitglied
Also das sind bisher die geänderten Methoden:
und id ist jetzt target
Code:
@Override
    public String toString() {
        if (isNull()) {
            System.err.println("Es wird auf einen Nullzeiger gezeigt.");
        }
        return target.toString();
    }
public T get() {
        return target;
    }
public boolean isNull() {
        if (target == null) {
            return true;
        }
        return false;
    }
 

mrBrown

Super-Moderator
Mitarbeiter
toString sieht allerdings noch falsch aus, im Javadoc ist in beiden Fällen von "Prints" die Rede, in deinem Code werden aber zwei verschiedene Dinge gemacht.
 

httpdigest

Top Contributor
Code:
public boolean isNull() {
  ...
}
Code:
public boolean isNull() {
  return target == null;
}
Und die Ausgabe in toString(), für den Fall isNull() kannst du dir eigentlich sparen, da es sowieso zu einer NullPointerException bei dem anschließenden tatsächlichen Zugriff auf target.toString() führen wird. Und generell ist es "unschön", wenn Library-Code einfach so auf die Console printed. :)
 

mrBrown

Super-Moderator
Mitarbeiter
Ich dachte halt, dass weil nach einer error message verlangt wurde und nicht nach einer Exception:)
Eine Exception wäre da auch völlig Fehl am Platz, eine Fehlermeldung ist schon das richtige. Nur solltest du mit der das gleiche machen, wie in dem Fall, dass target != null ist ;)

Das ist allerdings mal eine seeehr merkwürdige Anforderung in dem JavaDoc von toString()... :)
Typische Aufgabenstellung, bei der nicht nachgedacht wurde :D
 

Sonnenblume123

Aktives Mitglied
Wie meinst das genau bei target!=null, weil es soll ja ein String ausgegeben werden. Das wird ja gerade gemacht. Sorry, falls ich gerade etwas auf dem Schlauch stehe
 

httpdigest

Top Contributor
Wie meinst das genau bei target!=null, weil es soll ja ein String ausgegeben werden. Das wird ja gerade gemacht. Sorry, falls ich gerade etwas auf dem Schlauch stehe
Also für mich ist die Anforderung nicht ganz klar:
Prints the Object, that this points to. Prints an error message iff isNull().
Es wird aus der Aufgabenstellung, bzw. der gegebenen JavaDoc Anforderung, nicht ganz klar, was mit "Prints" eigentlich ganz ganz genau gemeint ist. Jeder normale Mensch würde sagen "etwas auf stdout oder stderr oder irgendeinem Logger ausgeben". Für den Fall, dass der Wert _zurückgegeben_ werden soll, wie man es ja von Object.toString() erwartet, würde man eher "Returns a string representation of the object, that this points to." schreiben.
Wenn mit "Prints" allerdings genau das gemeint sein soll (also eine String-Repräsentation des Objektes zurückzuliefern), dann müsste man im Fehlerfall also "irgendeinen" Fehlertext zurückliefern, der natürlich genauso gut die String-Repräsentation (per Object.toString()) von dem target Objekt hätte sein können. Käme dann ja darauf an, wie toString() in der Klasse vom target implementiert ist.
Deshalb finde ich die Anforderung mehr als verwirrend und du könntest später eigentlich jede Implementierung entsprechend verargumentieren, dass du sie so verstanden hast...
 

mrBrown

Super-Moderator
Mitarbeiter
Wie meinst das genau bei target!=null, weil es soll ja ein String ausgegeben werden. Das wird ja gerade gemacht. Sorry, falls ich gerade etwas auf dem Schlauch stehe
Wenn target nicht null ist, gibst du target.toString zurück. Das gleiche solltest du in dem null-Fall machen, etwas zurückgeben.
(So zumindest meine Interpretation, die am sinnvollsten aussieht.)

Stimmt eigentlich die Methode make(target)? Weil ich bräuchte ja den Konstruktor dazu?
Die sieht richtig aus.
 

mrBrown

Super-Moderator
Mitarbeiter
Die Endlosrekursion musst du lösen - nicht einfach die Methoden löschen, in denen sie fälschlicherweise vorkommt ;)
 

Sonnenblume123

Aktives Mitglied
Das ist jetzt die noch fehlenden Methoden gewesen:
Code:
public void assign(SmartPointer<T> to) {
        to = new SmartPointer<>(id);
    }

public void release() {
        id = null;
        SmartPointer<T> smartpointer = new SmartPointer<>(id);
    }
 

mrBrown

Super-Moderator
Mitarbeiter
Die sind beide Unsinn.

to = new SmartPointer<>(id); - to ist damit ein neuer SmartPointer, das übergeben to zeigt aber immer noch auf das gleiche wie vorher

SmartPointer<T> smartpointer = new SmartPointer<>(id); - warum legst du denn einen neuen SmartPointer an, der auf einen Wert zeigt, den du grad auf null gesetzt hast?
 

Sonnenblume123

Aktives Mitglied
Müssen die Konstruktoren so aussehen?
Java:
public SmartPointer(T id) {
        smartpointer = new SmartPointer<>(id);
    }
    public SmartPointer() {
        this.smartpointer = smartpointer;
    }
 

Sonnenblume123

Aktives Mitglied
Ach hast Recht bei assign, smartpointer und to zeigen ja jetzt auf das gleiche:)
Wie soll ich sonst sagen, dass der smartpointer jetzt auf null zeigt?
Reicht doch nicht nur id auf null zu setzen
 

mrBrown

Super-Moderator
Mitarbeiter
Ach hast Recht bei assign, smartpointer und to zeigen ja jetzt auf das gleiche:)
öhm, nö?

smartpointer zeigt auf irgendwas und wird nicht verändert (das die Variable überflüssig ist und weg sollte, wurde ja schon gesagt).
das übergebene to veränderst du nicht, das zeigt auf das gleiche wie vorher.
Außerdem erstellt du einen neuen SmartPointer, den du dem lokalen Parameter to zuweist (womit das übergeben to aber nicht geändert wird!) und der danach direkt wieder verworfen wird.

Wie soll ich sonst sagen, dass der smartpointer jetzt auf null zeigt?
Reicht doch nicht nur id auf null zu setzen
Reicht das etwa nicht?


Müssen die Konstruktoren so aussehen?
Java:
public SmartPointer(T id) {
        smartpointer = new SmartPointer<>(id);
    }
    public SmartPointer() {
        this.smartpointer = smartpointer;
    }
Überleg doch mal, was in beiden Fällen passiert:

Java:
public SmartPointer(T id) {
        smartpointer = new SmartPointer<>(id);
    }
Im Konstruktor rufst du den Konstruktor auf.
Dadurch bist du wieder im Konstruktor und rufst den Konstruktor auf.
Dadurch bist du wieder im Konstruktor und rufst den Konstruktor auf usw...

Java:
    public SmartPointer() {
        this.smartpointer = smartpointer;
    }
Du weißt dem Feld smartpointer das Feld smartpointer, also dem Feld sich selber.
Das Feld ist außerdem überflüssig und sollte gelöscht werden, wurde ja schon gesagt.
 

Sonnenblume123

Aktives Mitglied
Kurze Frage nochmal zur assign Methode, ich zeige auf das Objekt von to und erstelle deshalb einen neuen Zeiger zum Beispiel SmartPointer<T> local und mit dem mach ich nichts? Außer halt auf das Objekt von to zeigen lassen
 

httpdigest

Top Contributor
Langsam glaube ich, dass die Aufgabenstellung doch schwieriger ist, als ursprünglich angenommen.
Du hast zwar nichts weiter zu der Aufgabenstellung gesagt, als das Javadoc zu zeigen, aber auch aufgrund deiner Thread-Überschrift "--> Zählen <-- der Zeiger auf Objekt" sollst du wohl vermutlich "Reference Counting" in dem SmartPointer implementieren und free() als Teil von release() auf dem Target aufrufen, wenn du weißt, dass alle anderen SmartPointer, die sich (per assign() oder make(T)) dasselbe Target teilen, ebenfalls alle release() aufgerufen haben. Also: Wenn es keinen SmartPointer mehr gibt, der das Target aktiv verwendet.
 

temi

Top Contributor
Mal ne vielleicht blöde Frage: Warum muss die Klasse SmartPointer einen SmartPointer als Instanzvariable haben?

Sollte das nicht einfach eine Variable vom Typ T sein? So kenne ich das aus C++, wo SmartPointer ja durchaus eine Berechtigung haben.

Edit: Überlesen, steht ja schon da, dass es nicht benötigt wird...

Edit2: So schwierig ist die Aufgabe nicht, wenn man sich erst mal strikt an das JavaDoc hält und anschließend noch die Referenzzählung ergänzt. Über "toString" kann man sich streiten, ich würde nur den entsprechenden String zurückgeben.
 
Zuletzt bearbeitet:

temi

Top Contributor
Außerdem würde ich den Konstruktor von SmartPointer "private" machen und die Erzeugung von Instanzen nur über die beiden statischen Methoden zulassen.
 

temi

Top Contributor
to = new SmartPointer<>(id); - "to" ist damit ein neuer SmartPointer, das übergebene "to" zeigt aber immer noch auf das gleiche wie vorher

@mrBrown : Kann man dieses Problem irgendwie lösen (außer durch Rückgabe der geänderten Parameterreferenz)? Sonst wird das etwas schwierig mit der Referenzzählung, oder? Damit die funktioniert muss der per "assign" zugewiesene SmartPointer auf das selbe Objekt verweisen, damit auch der selbe Referenzzähler verwendet wird.

Ein statischer Referenzzähler funktioniert nur solange, bis ein weiterer SmartPointer erzeugt wird, der auf ein anderes Ziel verweist, es sei den man führt z.B. eine Map von Referenzzählern für jedes unterschiedliche Ziel.
 

mrBrown

Super-Moderator
Mitarbeiter
@mrBrown : Kann man dieses Problem irgendwie lösen (außer durch Rückgabe der geänderten Parameterreferenz)? Sonst wird das etwas schwierig mit der Referenzzählung, oder? Damit die funktioniert muss der per "assign" zugewiesene SmartPointer auf das selbe Objekt verweisen, damit auch der selbe Referenzzähler verwendet wird.

Ein statischer Referenzzähler funktioniert nur solange, bis ein weiterer SmartPointer erzeugt wird, der auf ein anderes Ziel verweist, es sei den man führt z.B. eine Map von Referenzzählern für jedes unterschiedliche Ziel.
Kann man mMn nicht lösen, das Javadoc sagt aber auch nichts von Referenzem zählen, von daher würd ich das einfach erstmal ignorieren
 

Sonnenblume123

Aktives Mitglied
Vervollständigen Sie die Implementierung des Reference-Counting Mechanismus in der Java Klasse. Sie sollen entsprechend den angegebenen Kommentaren die Rümpfe ausprogrammieren.
Hinweis: Sie dürfen dabei keine weiteren Ausgaben erzeugen als in den Kommentaren.
Testen Sie ihre Implementierung. Achten Sie dabei auf Laufzeit und Sonderfälle.
Demonstrieren Sie mit einem der Tests, dass Fälle auftreten können, in denen nicht alle durch Reference-Counting verwalteten Objekte gelöscht werden, obwohl diese im Programm nicht mehr erreichbar sind.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
M Häufigkeit von Wörtern zählen Java Basics - Anfänger-Themen 6
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
D spezifische Knoten in einem Baum zählen Java Basics - Anfänger-Themen 9
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
S Java Methodenaufrufe zählen Java Basics - Anfänger-Themen 4
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
H Buchstaben zählen Java Basics - Anfänger-Themen 9
Poppigescorn Häufigkeit einer zahl zählen Java Basics - Anfänger-Themen 5
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
O Attribute die Methoden zählen Java Basics - Anfänger-Themen 5
X Game of Life Nachbarn zählen Java Basics - Anfänger-Themen 20
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
S Binärbäume knoten zählen Java Basics - Anfänger-Themen 16
K Counts zählen Java Basics - Anfänger-Themen 23
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
J Zeichen im String zählen Java Basics - Anfänger-Themen 3
G Binärer Suchbaum Knoten zählen Java Basics - Anfänger-Themen 1
N Zeichen in einem Textfeld zählen und hinterlegen Java Basics - Anfänger-Themen 6
E Knoten eines Baumes unter Bedinung zählen Java Basics - Anfänger-Themen 2
T x Schritte zählen Java Basics - Anfänger-Themen 18
P Schlüsselworte Zählen und Zuweisen von eingelesenen Zahlen Java Basics - Anfänger-Themen 1
A In einem String alle Eigennamen zählen Java Basics - Anfänger-Themen 6
L Baum Knoten zählen Java Basics - Anfänger-Themen 6
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
S Zeichen zählen kopierter Text Java Basics - Anfänger-Themen 6
B Array - die Häufigkeit der Zahl zählen Java Basics - Anfänger-Themen 9
L Vorherige Objekte zählen und ausgeben Java Basics - Anfänger-Themen 11
L Diphthonge zählen... Java Basics - Anfänger-Themen 5
O ELOPS Zählen Java Basics - Anfänger-Themen 1
S Rekursives Zählen einer Zahl Java Basics - Anfänger-Themen 8
X Quick Sort - Vergleichsoperationen zählen Java Basics - Anfänger-Themen 0
K alle Vorkommen einer bestimmten Ziffer in einer Zahl zählen Java Basics - Anfänger-Themen 2
B Collections Java Wörter in String zählen und geordnet ausgeben Java Basics - Anfänger-Themen 10
O Großbuchstaben im Satz zählen Java Basics - Anfänger-Themen 6
S zahl hoch und runter zählen per button Java Basics - Anfänger-Themen 25
N Zählen von Rationalen Werten eines Arrays Java Basics - Anfänger-Themen 10
Y for-Schleife zählen Java Basics - Anfänger-Themen 6
K Probleme mit Sortieren und dem Zählen Java Basics - Anfänger-Themen 13
S Vererbung Objekte von Ober - und Unterklassen zählen Java Basics - Anfänger-Themen 3
F SubString in String zählen Java Basics - Anfänger-Themen 3
C Im Array zählen und verändern Java Basics - Anfänger-Themen 5
O Zählen der while-Scheife Java Basics - Anfänger-Themen 3
P bytes aus einem InputStream zählen Java Basics - Anfänger-Themen 2
A Text teilen und Wörter zählen Java Basics - Anfänger-Themen 7
G Erste Schritte Einen Array absuchen und Buchstaben zählen Java Basics - Anfänger-Themen 17
F Problem mit Tabulatoren bei Zeilen zählen einer Textdatei Java Basics - Anfänger-Themen 17
F Textdatei einlesen und Zeilen zählen Java Basics - Anfänger-Themen 10
D Groß/KleinBuchstaben zählen Java Basics - Anfänger-Themen 21
D Buchstabe zählen/mappen Java Basics - Anfänger-Themen 3
S Anzahl unterschiedlicher Elemente zählen Java Basics - Anfänger-Themen 4
M Hilfe bei Zählen von Farben? Java Basics - Anfänger-Themen 7
R Input/Output Tastenschläge einer Taste zählen Java Basics - Anfänger-Themen 14
J Schleifendurchläufe zählen Java Basics - Anfänger-Themen 4
B Zweidimensionales Array Elemente jeder Spalte zählen Java Basics - Anfänger-Themen 9
E Methoden Methodenaufrufe zählen Java Basics - Anfänger-Themen 11
T Leerzeichen zählen mit Rekursion Java Basics - Anfänger-Themen 17
H Programm zum Zählen von Zeichen Java Basics - Anfänger-Themen 5
K Kommandozeile zählen Java Basics - Anfänger-Themen 5
J Bits zusammen zählen Java Basics - Anfänger-Themen 4
P Hashtabelle-Häufigkeit von String zählen Java Basics - Anfänger-Themen 2
J Array; Vorkommen zählen Java Basics - Anfänger-Themen 10
T durchlaufene while-Schleifen zählen Java Basics - Anfänger-Themen 3
P Replace zählen Java Basics - Anfänger-Themen 4
A Methoden Gedanken Anstöße zur Realisierung zweier Ideen (Grafisch Sekunden zählen und Frameaufteilung) Java Basics - Anfänger-Themen 18
E Zeichen von Kommandozeilenparameter zählen Java Basics - Anfänger-Themen 6
L Objekte zählen mehrerer Unterklassen Java Basics - Anfänger-Themen 3
J Buchstaben aus String einzeln Zählen Java Basics - Anfänger-Themen 12
J Enum zählen Java Basics - Anfänger-Themen 8
M Automatisch hoch zählen Java Basics - Anfänger-Themen 8
S Zählen Java Basics - Anfänger-Themen 9
V Arraylist: Zählen welcher String am Häufigsten vorkommt Java Basics - Anfänger-Themen 5
A Erste Schritte Datei einlesen und Buchstaben zählen Java Basics - Anfänger-Themen 13
M Von File lesen Buchstaben lesen und zählen - scheitert an der Eingabe Java Basics - Anfänger-Themen 4
B Zählen bestimmter Zeilen einer .txt Java Basics - Anfänger-Themen 7
A Satzeingabe - Vokale zählen Java Basics - Anfänger-Themen 5
G Gleiche Elemente in Feld zählen Java Basics - Anfänger-Themen 13
B Input/Output Wörter zählen & sortieren Java Basics - Anfänger-Themen 9
S Buchstaben/Wörter im String zählen Java Basics - Anfänger-Themen 6
K apache poi - Spalten zählen Java Basics - Anfänger-Themen 4
T Methodenaufrufe zählen Java Basics - Anfänger-Themen 24
L Array Sequent Zählen Java Basics - Anfänger-Themen 8
N Bestimmte Zeichen aus Strings zählen Java Basics - Anfänger-Themen 11
C Boolean Wahrheitswert zählen Java Basics - Anfänger-Themen 15
C Vorkommen eines Zeichens zählen Java Basics - Anfänger-Themen 4
D Game of Life - Nachbarn zählen Java Basics - Anfänger-Themen 8
J Buchstaben zählen Java Basics - Anfänger-Themen 17
R buchstaben zählen Java Basics - Anfänger-Themen 8
D Zählen von Umlauten in einem String Java Basics - Anfänger-Themen 4
E Array Inhalte zählen Java Basics - Anfänger-Themen 6
B Strings zählen Java Basics - Anfänger-Themen 15
Z Zeichen Zählen Java Basics - Anfänger-Themen 3
B Files aus Verzeichnis zählen Java Basics - Anfänger-Themen 9
J Wörter in einem string zählen und die anzahl zurückgeben Java Basics - Anfänger-Themen 4
I Zeichen zählen ohne Leerzeichen Java Basics - Anfänger-Themen 3
M Blätter eines Baumes zählen Java Basics - Anfänger-Themen 2
D Spiel des Lebens Nachbarn zählen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben