# Java Vokabeltrainer?



## JokerX (9. Feb 2006)

Hallo,

hat jemand eine Idee für einen Vokabeltrainer Deutsch - Englisch mit folgenden Anforderungen?

Anforderungen:
-min. 50 Vokabelpaare
-es kann gewählt werden welche Sprache trainiert wird
-Vokabeln werden zufällig gewählt
-Highscore + Anzahl der richtig und falsch übersetzten
-eine Variable, die dreimal geprüft wurde, wird in der aktuellen Sitzung nicht mehr abgefragt
-keine Methode ist länger als 80 Zeichen

Leider hab ich so gut wie keine Ahnung von dem guten Java, vielleicht hat jemand so etwas in ähnlicher Form schon fertig?
Würd mich riesig freuen, wenn ihr mir helfen könntet!

MfG


----------



## Beni (9. Feb 2006)

Wieso was schreiben, wenn sowas schon gibt :wink: hier.



> -keine Methode ist länger als 80 Zeichen


Was ist denn das für eine komische Vorgabe? :autsch:


----------



## Guest (9. Feb 2006)

> Was ist denn das für eine komische Vorgabe? :autsch:



frag mal unseren Dozenten  :?


----------



## Beni (9. Feb 2006)

Ach so, du versuchst hier billig die Hausaufgaben gemacht zu bekommen :noe: 

Naja, ein paar Tipps wenigstens:



> -min. 50 Vokabelpaare


Alles mit Listen, Sets und Maps machen. Die Vokabeln aus einer Textdatei lesen (BufferedInputStream oder ähnliches). Damit kann dir die Anzahl Paare total egal sein...
IMHO am einfachsten (vielleicht nicht am effizientesten) ist es, direkt eine Klasse "Paar" zu machen, und immer mit dieser zu arbeiten.



> -es kann gewählt werden welche Sprache trainiert wird


Es wird von A nach B übersetzt. Niemals hinschreiben was A und B überhaupt ist, sondern immer als Variable verwenden, dann kommt das automatisch.



> -Vokabeln werden zufällig gewählt


Math.random() für Zufallszahlen zwischen 0 und 1



> -Highscore + Anzahl der richtig und falsch übersetzten


Tjo, mit ein paar Variablen zählen. Und das Ganze auch speichern (DataInput/OutputStream ist praktisch um int's und etc. zu speichern).



> -eine Variable, die dreimal geprüft wurde, wird in der aktuellen Sitzung nicht mehr abgefragt


Könnte z.B. direkt in einer "Paar"-Klasse gespeichert werden.



> -keine Methode ist länger als 80 Zeichen


Kryptische Einbuchstabennamen verwenden um die Zeichenzahl zu drücken. Auch der trinäre Operator "condition ? x : y" anstelle von "if-else" spart Zeichen.
Alles packagedefault machen, dann kann man weitere 6 Zeichen sparen ("public")...

Sollte allerdings die Zeilenbreite gemeint sein, ist das nicht so schwierig einzuhalten :wink:


----------



## Tobias (9. Feb 2006)

Das soll bestimmt Zeilen heißen und dazu dienen, faule Studis zu einer vernünftigen Aufteilung in Methoden zu zwingen...

mpG
Tobias


----------



## lin (9. Feb 2006)

also wirklich, das ist Teil der neuen CodeConventions, die kürzlich verabschiedet wurden. Keine Methoden mehr die länger als 80 Zeichen sind :bae: :wink:

lol, schon so eine kurze Methode hat mehr als 80 Zeichen 

```
public void getCurrentStatus() {
		if(running != true) {
			new Instance();
		} else {
			System.out.println("An Instance is already running.");
	   }
}
```


----------



## byte (9. Feb 2006)

Musste das System.out wohl auslagern.


----------



## Bert Brenner (10. Feb 2006)

Man stelle sich vor: 


```
final boolean t = true;
final PrintWriter w = System.out;
final String l = "An Instance is already running.");

void p(String c){
  w.println(c);
}

void s(){
  r!=t ? new I() : p(l);
}
```


----------



## norman (10. Feb 2006)

Bert Brenner hat gesagt.:
			
		

> Man stelle sich vor:
> 
> 
> ```
> ...


 :applaus:  :applaus:  :applaus:


----------



## bummerland (10. Feb 2006)

lin hat gesagt.:
			
		

> also wirklich, das ist Teil der neuen CodeConventions, die kürzlich verabschiedet wurden. Keine Methoden mehr die länger als 80 Zeichen sind :bae: :wink:
> 
> lol, schon so eine kurze Methode hat mehr als 80 Zeichen
> 
> ...



ich denk mal, es sind die methodennamen gemeint oder? alles andere hätte ja wenig sinn...


----------



## norman (10. Feb 2006)

bummerland hat gesagt.:
			
		

> ich denk mal, es sind die methodennamen gemeint oder? alles andere hätte ja wenig sinn...


in diesem Falle fände ich es allerdings eine wahre Herausforderung, Methodennamen länger als 80 Zeichen zu entwickeln.
selbst 
	
	
	
	





```
public static String veraendereDenStringAnDerDrittenPosition(String string)
```
 hat nur 53 Zeichen, mit den Modifizierern 75.
whatever  :?


----------



## lin (10. Feb 2006)

sind wahrscheinlich schon am ehesten Zeilen gemeint, so wie von Tobias vorgeschlagen.... :?


----------



## bummerland (10. Feb 2006)

lin hat gesagt.:
			
		

> sind wahrscheinlich schon am ehesten Zeilen gemeint, so wie von Tobias vorgeschlagen.... :?


Stimmt, kann auch sein. Hab den Post übersehen :-/


----------

