Ich schreibe im Moment meine Facharbeit in Informatik der 11 Klasse und hab mir eine Art Vokabel "Trainer" zum Programmieren ausgesucht. Ich habe eine priorities eingebaut die ich mit den Strings "low" "high" umgesetzt habe. Der Vokabel Kartei, in der alle Vokabeln gespeichert sind, ist eine liste mir dem Datentyp Vok (vokabel). Die Klasse Vokabel sieht wie folgt aus;
public class Vokabel
[CODE lang="java" title="Vokabel"]public class Vokabel
{
String Vok;
List Übersetzungliste;
String Prio;
public Vokabel(String pVok, String pÜb){
Vok = pVok;
Übersetzungliste = new List();
Übersetzungliste.append(pÜb);
}
public void neuÜbersetzung(String pÜb){
Übersetzungliste.append(pÜb);
}
public void Vokabeländern(String pNeuVok){
String pRemember = Vok;
Vok = pNeuVok;
System.out.println("Die Vokabel " + pRemember + " wurde zu " + Vok + " geändert.");
}
public String Vokabel(){
return Vok;
}
public List Übersetzung(){
return Übersetzungliste;
}
public void Überlöschen(String pSuche){
if(!Übersetzungliste.isEmpty()){
Übersetzungliste.toFirst();
while( Übersetzungliste.current.content() != pSuche)
Übersetzungliste.next();
Übersetzungliste.remove();
}
}
public String getPrio(){
return Prio;
}
public void setPrio(String pPrio){
Prio = pPrio;
}
}
[/CODE]
Die Klasse Kartei:
(meine priorität)
[CODE lang="java" title="Kartei"] import java.lang.Math;
public class Kartei
{
private List karteiliste;
public Kartei(){
karteiliste = new List();
}
public void VokabelPlus(Vokabel pVok){
karteiliste.append(pVok);
}
public void VokabelLöschen(String pSuche){
while(karteiliste.current.content() != pSuche)
karteiliste.next();
karteiliste.remove();
}
public int VokabelAnzahl(){
karteiliste.toFirst();
karteiliste.next();
int i = 0;
while(karteiliste.current != karteiliste.first){
karteiliste.next();
i++;
}
i++;
return i;
}
public Object Vokabelausgabe(){
int b = 0;
int max = VokabelAnzahl();
int min = 1;
int range = max - min + 1;
int rZahl = (int)(Math.random() * range) + min;
while( b != rZahl){
karteiliste.next();
b++;
}
String a = "low";
String j = "high";
if(karteiliste.current.content() == a){
int max2 = 5;
int min2 = 1;
int range2 = max - min + 1;
int rZahl2 = (int)(Math.random() * range) + min;
if(rZahl2 != 5){
SuchePrio(j);
}
}
return karteiliste.current.content();
}
public Object SucheÜbersetzung(String pSuche){
karteiliste.toFirst();
while(karteiliste.Übersetzung() != pSuche){
karteiliste.next();
}
return karteiliste.current.content();
}
public Object SucheVok(String pSuche){
karteiliste.toFirst();
while(karteiliste.current.content() != pSuche){
karteiliste.next();
}
return karteiliste.current.content();
}
public Object SuchePrio(String pSuche){
karteiliste.toFirst();
while(karteiliste.current.content() != pSuche){
karteiliste.next();
}
return karteiliste.current.content();
}
}[/CODE]
Erklärung:
falls die Vokabel die priorität "low" hat wird eine neue Vokabel gesucht ( hier habe ich eine Wahrscheinlichkeit eingebaut die ist aber voll funktionstüchtig). Die Methode SuchePrio funktioniert jedoch nicht, da der current mir nur die Vokabel ausgibt ich aber einen bestimmten String in der Vokabel brauche.
PS. Das ist mein erster Beitrag in einem Forum und ich hab Informatik seid Anfang diesem schuljahres 2020 Informatik, ich hoffe es sind nicht zu viele schreib fehler da und man kann wenigstens ein bisschen verstehen was mein Problem ist.
public class Vokabel
[CODE lang="java" title="Vokabel"]public class Vokabel
{
String Vok;
List Übersetzungliste;
String Prio;
public Vokabel(String pVok, String pÜb){
Vok = pVok;
Übersetzungliste = new List();
Übersetzungliste.append(pÜb);
}
public void neuÜbersetzung(String pÜb){
Übersetzungliste.append(pÜb);
}
public void Vokabeländern(String pNeuVok){
String pRemember = Vok;
Vok = pNeuVok;
System.out.println("Die Vokabel " + pRemember + " wurde zu " + Vok + " geändert.");
}
public String Vokabel(){
return Vok;
}
public List Übersetzung(){
return Übersetzungliste;
}
public void Überlöschen(String pSuche){
if(!Übersetzungliste.isEmpty()){
Übersetzungliste.toFirst();
while( Übersetzungliste.current.content() != pSuche)
Übersetzungliste.next();
Übersetzungliste.remove();
}
}
public String getPrio(){
return Prio;
}
public void setPrio(String pPrio){
Prio = pPrio;
}
}
[/CODE]
Die Klasse Kartei:
(meine priorität)
[CODE lang="java" title="Kartei"] import java.lang.Math;
public class Kartei
{
private List karteiliste;
public Kartei(){
karteiliste = new List();
}
public void VokabelPlus(Vokabel pVok){
karteiliste.append(pVok);
}
public void VokabelLöschen(String pSuche){
while(karteiliste.current.content() != pSuche)
karteiliste.next();
karteiliste.remove();
}
public int VokabelAnzahl(){
karteiliste.toFirst();
karteiliste.next();
int i = 0;
while(karteiliste.current != karteiliste.first){
karteiliste.next();
i++;
}
i++;
return i;
}
public Object Vokabelausgabe(){
int b = 0;
int max = VokabelAnzahl();
int min = 1;
int range = max - min + 1;
int rZahl = (int)(Math.random() * range) + min;
while( b != rZahl){
karteiliste.next();
b++;
}
String a = "low";
String j = "high";
if(karteiliste.current.content() == a){
int max2 = 5;
int min2 = 1;
int range2 = max - min + 1;
int rZahl2 = (int)(Math.random() * range) + min;
if(rZahl2 != 5){
SuchePrio(j);
}
}
return karteiliste.current.content();
}
public Object SucheÜbersetzung(String pSuche){
karteiliste.toFirst();
while(karteiliste.Übersetzung() != pSuche){
karteiliste.next();
}
return karteiliste.current.content();
}
public Object SucheVok(String pSuche){
karteiliste.toFirst();
while(karteiliste.current.content() != pSuche){
karteiliste.next();
}
return karteiliste.current.content();
}
public Object SuchePrio(String pSuche){
karteiliste.toFirst();
while(karteiliste.current.content() != pSuche){
karteiliste.next();
}
return karteiliste.current.content();
}
}[/CODE]
Erklärung:
falls die Vokabel die priorität "low" hat wird eine neue Vokabel gesucht ( hier habe ich eine Wahrscheinlichkeit eingebaut die ist aber voll funktionstüchtig). Die Methode SuchePrio funktioniert jedoch nicht, da der current mir nur die Vokabel ausgibt ich aber einen bestimmten String in der Vokabel brauche.
PS. Das ist mein erster Beitrag in einem Forum und ich hab Informatik seid Anfang diesem schuljahres 2020 Informatik, ich hoffe es sind nicht zu viele schreib fehler da und man kann wenigstens ein bisschen verstehen was mein Problem ist.
Zuletzt bearbeitet: