Vokabel trainer in java

R3LLiK

Grünschnabel
Hallo wollte mich mal an einem vokabeltrainer wagen nur weiss ich nicht wie ich das programmieren soll. Es soll ein vokabeltrainer sein wo man von mir vorgegebene vokabeln lernen muss man kann keine eigenen eingeben. und die sollen nach ner zeit abgefragt werden#. wie speicher ich die vokabeln in einem array oder variable??

Wenn einer bock hat kann er mir gerne dabei helfen, den fertig zu machen.
 

R3LLiK

Grünschnabel
Die Frage ist wie bekomme ich das eine vokabel also deutsches wort zu einem englishen wort gehört brauche ich für jedes paar ein array??
 

melmager

Erfahrenes Mitglied
Kann man mit Array machen.
Sinnvoller währe sogar eine classe pro vokabel.
Als Grundstruktur würde ich das Zettelkasten Prinzip programmieren.

Zettelkasten: Eine Box mit mehreren Fächern - neue Vokabeln kommen in das vorderste Fach und wenn die Vokabel mehrmals richtig beantwortet wurde kommt die Vokabel ein Fach nach hinten.
Irgendwann fliegt die Vokabel aus der Box raus.(wenn im letzen fach und mehrmals auch dort richtig beantwortet wurde)
Bei falschantwort ein Fach nach vorne :)

Um das im Programm umzusetzen werden Zähler (fach nummer / zähler richtig) benötigt, die man auch in der classe unterbringen kann.

Die Vokabelclasse selber kann man in ein ArrayList speichern.

Die abzufragenen Vokabel wird mittels Zufall ermittelt.

die richtung.
 
Zuletzt bearbeitet:

R3LLiK

Grünschnabel
Hab ich das richtig verstanden vokabel paar also deutsch und english in einer klasse bei 10 vokabeln macht das dann ja 10 klassen usw. oder meinst du das ich es in einer klasse mache und dann halt mehrere objekte erstelle??
 

vfl_freak

Premium-User
Moin,
Hab ich das richtig verstanden vokabel paar also deutsch und english in einer klasse bei 10 vokabeln macht das dann ja 10 klassen usw. oder meinst du das ich es in einer klasse mache und dann halt mehrere objekte erstelle??
Nutze bitte das schöne Instrument der Kommasetzung!
Muss man ja dreimal lesen, ehe man es verstanden hat ;)

Und wieso 10 Klassen??
Gemeint sind doch wohl eher nur zwei!! "Deutsche Vokabel" + "Englische Vokabel" ...

VG Klaus
 

melmager

Erfahrenes Mitglied
jepp pro vokabel eine classe - macht bei 100 vokabeln 100 classen.

Das ist aber kein problem da die classen in ein einem ArrayList gespeichet werden.

Nicht durch die Masse an classen verunsichern lassen :) die variante ist sogar einfacher zu programmieren.

Code:
class Vokabel {

public String fremd; //englisches wort
public String mutter; // deutsches wort
public int count;

public String getEnglisch() {
}

public boolean testTranslate(String eingabe) {
}

}

eine von vielen möglichen versionen

Code:
ArrayList<Vokabel> lerne  = ArrayList<>();

und so z.B speichern
 

R3LLiK

Grünschnabel
also für vokabel 1 public class Vokabel und für vokabel 2 public class Vokabel 2 und so weiter findest du nicht das ich später 1000 Klassen habe wird doch unübersichtlich
 

melmager

Erfahrenes Mitglied
Wie schon von @Bratkatoffel erwähnt:

du hast nur eine classe Vokabel - und die wird mehrfach angelegt = viele Instanzen
und die werden in einer ArrayList gespeichert.
Und nur da.
Zugriff geht dann über ein Index.

Code:
// erstelle ein instanz

Vokabel vokabelvar = new Vokabel();
vokabelvar.fremd = "Dog";
vokabelvar.mutter = "Hund";

// speichern

lerne.add(vokabelvar);

// das x beliebig mal

//und wenn man die 50 von den 100 gespeicheten Instanzen (vokabeln) haben will:

vokabelvar = lerne.get(50);

du hast also nur eine Variable vokabelvar und entweder bekommt die eine neue instanz (mit neuen werten) oder eine gespeicherte aus der ArrayList.
 

R3LLiK

Grünschnabel
aso ok ich kenne das unter objekt anlegen also heisst das instanz gut zu wissen danke ich schreibe mal was und zeig das hier wieder bis dann.
 

Neue Beiträge