Infoprojekt

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Infoprojekt

    Soooo...das Programm steht: (falls ihr euch noch an mich erinnern könnt ^^)

    Quellcode

    1. import Prog1Tools.IOTools;
    2. public class Vokabel3{
    3. public static void Setzte_Vokabeln(String[] vokabeln_d, String[] vokabeln_e, String[] vokabeln_f ) {
    4. vokabeln_d[0] = "Hallo";
    5. vokabeln_e[0] = "Hello";
    6. vokabeln_f[0] = "Salut";
    7. vokabeln_d[1] = "Stadt";
    8. vokabeln_e[1] = "City";
    9. vokabeln_f[1] = "Ville";
    10. vokabeln_d[2] = "Hund";
    11. vokabeln_e[2] = "Dog";
    12. vokabeln_f[2] = "Chien";
    13. vokabeln_d[3] = "Haus";
    14. vokabeln_e[3] = "Home";
    15. vokabeln_f[3] = "Maison";
    16. vokabeln_d[4] = "Strasse";
    17. vokabeln_e[4] = "Street";
    18. vokabeln_f[4] = "Rue";
    19. vokabeln_d[5] = "Auto";
    20. vokabeln_e[5] = "Car";
    21. vokabeln_f[5] = "voiture";
    22. vokabeln_d[6] = "Liebe";
    23. vokabeln_e[6] = "Love";
    24. vokabeln_f[6] = "Amour";
    25. vokabeln_d[7] = "Freundin";
    26. vokabeln_e[7] = "Girlfriend";
    27. vokabeln_f[7] = "Amie";
    28. vokabeln_d[8] = "Musik";
    29. vokabeln_e[8] = "Music";
    30. vokabeln_f[8] = "Musique";
    31. vokabeln_d[9] = "Lied";
    32. vokabeln_e[9] = "Song";
    33. vokabeln_f[9] = "Chanson";
    34. }
    35. public static void main (String[]args) {
    36. String[] vokabeln_d = new String[100];
    37. String[] vokabeln_e = new String[100];
    38. String[] vokabeln_f = new String[100];
    39. Setzte_Vokabeln(vokabeln_d, vokabeln_e, vokabeln_f);
    40. // Starte das Programm mit einer Ausgabe
    41. System.out.println("===============");
    42. System.out.println("Vokabeltraining");
    43. System.out.println("===============");
    44. // Menue
    45. int exit = 0;
    46. while (exit != 1)
    47. start:{
    48. System.out.println();
    49. System.out.println("1 = Vokabeleingabe");
    50. System.out.println("2 = Vokabeltraining");
    51. System.out.println("3 = Ende (Achtung: Vokabeln gehen verloren!)");
    52. System.out.println();
    53. int auswahl = IOTools.readInteger("Ihre Wahl: ");
    54. System.out.println();
    55. switch (auswahl){
    56. case 1: // Vokabeln eingeben
    57. System.out.println("Wie viele Vokabeln moechtest du hinzufuegen?");
    58. int anzahl = IOTools.readInteger("Anzahl: ");
    59. System.out.println();
    60. if (anzahl > 100){
    61. System.out.println("Nur Platz für max. 100 Vokabeln!");
    62. System.out.println();
    63. break start;
    64. } else {
    65. for(int i=10;i<anzahl+10;i++){
    66. String deutsch = IOTools.readLine ("Deutsch : ");
    67. String englisch = IOTools.readLine ("Englisch : ");
    68. String franzoesisch = IOTools.readLine ("Franzoesisch : ");
    69. vokabeln_d[i] = deutsch;
    70. vokabeln_e[i] = englisch;
    71. vokabeln_f[i] = franzoesisch;
    72. System.out.println();
    73. }
    74. break start;
    75. }
    76. case 2: // Vokabeln ausgeben
    77. System.out.println("Wie viele Vokabeln sollen abgefragt werden?");
    78. int vokzahl = IOTools.readInteger("Ihre Wahl: ");
    79. System.out.println();
    80. System.out.println("1 = Vokabelausgabe in Deutsch");
    81. System.out.println("2 = Vokabelausgabe in Englisch");
    82. System.out.println("3 = Vokabelausgabe in Franzoesisch");
    83. int auswahl2 = IOTools.readInteger("Ihre Wahl: ");
    84. System.out.println();
    85. switch (auswahl2){
    86. case 1:
    87. for(int i=0;i<vokzahl;i++){
    88. System.out.println("Deutsch : " + vokabeln_d[i]);
    89. System.out.println();
    90. String vok_e = IOTools.readLine ("Englisch : ");
    91. if (vok_e.equalsIgnoreCase(vokabeln_e[i])){
    92. System.out.println("Richtig!");
    93. } else {
    94. System.out.println("Falsch!");
    95. System.out.println("Richtige Antwort: " + vokabeln_e[i]);
    96. }
    97. System.out.println();
    98. String vok_f = IOTools.readLine ("Franzoesisch : ");
    99. if (vok_f.equalsIgnoreCase(vokabeln_f[i])){
    100. System.out.println("Richtig!");
    101. }
    102. else{
    103. System.out.println("Falsch!");
    104. System.out.println("Richtige Antwort: " + vokabeln_f[i]);
    105. }
    106. System.out.println();
    107. }
    108. break;
    109. case 2:
    110. for(int i=0;i<vokzahl;i++){
    111. System.out.println("Englisch : " + vokabeln_e[i]);
    112. System.out.println();
    113. String vok_d = IOTools.readLine ("Deutsch : ");
    114. if (vok_d.equalsIgnoreCase(vokabeln_d[i])){
    115. System.out.println("Richtig!");
    116. } else {
    117. System.out.println("Falsch!");
    118. System.out.println("Richtige Antwort: " + vokabeln_d[i]);
    119. }
    120. System.out.println();
    121. String vok_f = IOTools.readLine ("Franzoesisch : ");
    122. if (vok_f.equalsIgnoreCase(vokabeln_f[i])){
    123. System.out.println("Richtig!");
    124. }
    125. else{
    126. System.out.println("Falsch!");
    127. System.out.println("Richtige Antwort: " + vokabeln_f[i]);
    128. }
    129. System.out.println();
    130. }
    131. break;
    132. case 3:
    133. for(int i=0;i<vokzahl;i++){
    134. System.out.println("Franzoesisch : " + vokabeln_f[i]);
    135. System.out.println();
    136. String vok_e = IOTools.readLine ("Englisch : ");
    137. if (vok_e.equalsIgnoreCase(vokabeln_e[i])){
    138. System.out.println("Richtig!");
    139. } else {
    140. System.out.println("Falsch!");
    141. System.out.println("Richtige Antwort: " + vokabeln_e[i]);
    142. }
    143. System.out.println();
    144. String vok_d = IOTools.readLine ("Deutsch : ");
    145. if (vok_d.equalsIgnoreCase(vokabeln_d[i])){
    146. System.out.println("Richtig!");
    147. }
    148. else{
    149. System.out.println("Falsch!");
    150. System.out.println("Richtige Antwort: " + vokabeln_d[i]);
    151. }
    152. System.out.println();
    153. }
    154. break;
    155. }
    156. break start;
    157. case 3: // Programmende einleiten
    158. exit =1;
    159. }
    160. }
    161. }
    162. }
    Alles anzeigen



    Mein Problem besteht jetzt nur noch darin, dass er beim Vokabeltraining immer bei i=0 anfängt...also wird zu erst immer Deutsch: Hallo ausgegeben... und wenn alle 10 vokabeln durch sind, fängt er mit den an, die man vllt selber eingegeben hat... kann man das durch math.random ändern? hatte mal das als idee:

    i = (int)(Math.random()*9+1);

    er fängt zwar dann nicht bei Deutsch: Hallo an, sondern vllt auch mal bei Deutsch: Haus, allerdings gibt er immer nur eine Vokabel aus , egal ob man vorher 2 oder 3 eingegeben hat, bei der anzahl der ausgegeben vokabeln...

    na ja und das weitere problem besteht wohl darin, dass damit nur die 10 festgelegten vokabeln ausgegeben werden. die neu eingegeben werden dabei ja nicht berücksichtigt, und wenn ich die zahl auf 100 erhöhe, würde er wohl auch mal nullwerte erwischen-...
  • Quellcode

    1. // Das hier solltest du nur einmal während des Programmablaufs machen:
    2. Random zufallsgenerator;
    3. zufallsgenerator = new Random();
    4. int zufallszahl;
    5. // Das hier machst du immer, wenn du eine neue Zufallszahl brauchst (also mehrmals):
    6. zufallszahl = zufallsgenerator.nextInt();

    (ist nicht getestet)

    Soll die Zufallszahl zwischen 0 und einem Wert (z.B. 12) liegen:

    Quellcode

    1. zufallszahl = zufallszahl % 12;

    Das % bedeutet Modulo und das Ergebnis entspricht dem Rest bei einer Division.


    Ich flehe dich an, schau dir mal die LinkedList-Klasse an: :)
    Englisch:
    http://java.sun.com/j2se/1.5.0/docs/api/java/util/LinkedList.html
    Deutsch aber etwas veraltet:
    http://www.dpunkt.de/java/Referenz/Das_Paket_java.util/31.html
    Im Gegensatz zum Array musst du die Größe nicht vorher festlegen. Das ist wirklich nicht sonderlich kompliziert. Die Methoden erklären sich selbst.

    PS:
    Ach ja, könnte man mir mal verraten, warum der letzte Beitrag dazu kommentarlos geschlossen wurde?
  • "Hafner" schrieb:


    PS:
    Ach ja, könnte man mir mal verraten, warum der letzte Beitrag dazu kommentarlos geschlossen wurde?


    Freidenker-Alarm
    Kommt hier ab und an vor o_O

    So nun zu dir Neon
    Nachdem du ja schon im Vorfeld hier im Forum nachgefragt hast, wie man sowas löst, bin ich irgendwie schon ein wenig enttäuscht, wie wenig bei dir hängen geblieben ist (OK das kann entweder an dir oder an "unseren" schlechten Erklärungen liegen *g)

    Nachdem selbst dein Lehrer gesagt hat, du sollst deine Logik in der Switch-Anweisung in Methoden auslagern, hast du da nicht wirklich viel gemacht.

    Alles in allem wird das Programm zwar lauffähig sein (zumindestens geh ich mal davon aus), aber es ist ziemlich schlecht programmiert. Ok es ist zwar vielleicht etwas hart, aber eher mit der Absicht, dass du es beim nächsten Mal besser machst.

    Übrigens:
    Wenn du schon im Forum fragen stellst, wie man sowas löst und du dann KEINE der Vorschläge anwendest, find ich das schon schwach.

    Gruß
    cr4ch
    Ubuntu Edgy * Kernel 2.6.17 * Gnome 2.16 * Beryl
    2 x Athlon MP 1900 * MSI K7D Master-L * 1024 MB ECC DDR333
    Hercules 9800XT 256 MB Ram * 1x 250 GB IDE
    Wasserkühlung
  • ich wollte erstmal das programm an sich schreiben...es dürfte ja dann kein problem mehr sein die case anweisungen in eine methode zu verpacken oder?

    dass mit der zufallsauswahl der vokabeln habe ich hinbekommen... allerdings wird ja dann immer nur zwischen den 10 festgelegten vokabeln ausgewählt... die neu eingegeben werden dabei ja nciht berücksichtigt... erhöhe ich die zufallszahl auf 100, kommen ja auch null weret dabei raus :-/ und bei der zufallswahl nur unter den 10 voks können ja auch doppelte ausgaben kommen...
  • Noch was zu den Listen.
    Das Erzeugen ist ganz einfach (am Beispiel deiner internen Vokabelklasse aus deinem 1. Post):

    Quellcode

    1. LinkedList<Vokabel> vokabelliste = new LinkedList<Vokabel>();

    Das geht auch z.B. mit Strings:

    Quellcode

    1. LinkedList<String> vokabelliste = new LinkedList<String>();


    Die Größe bekommst du mit:

    Quellcode

    1. int groesse = vokabelliste.size();


    So tut man was rein:

    Quellcode

    1. vokabelliste.add(irgendeineVokabel);


    So holt man was raus (z.B. die 4. Vokabel):

    Quellcode

    1. meineVokabel = vokabelliste.get(4);


    So löscht man was (z.B. die 4. Vokabel):

    Quellcode

    1. vokabelliste.remove(4);


    Den Rest siehst du bei den Links, die ich dir gegeben habe.

    Neue Vokabeln schmeißt du dann einfach in die Liste rein. Die ist ja unbegrenzt groß (solange dein RAM reicht :) ). Eine zufällig Vokabel bekommst du dann, wenn du das machst:

    Quellcode

    1. zufaelligeVokabel = vokabelliste.get(zufallsgenerator.nextInt() % vokabelliste.size());


    Das sollte doch erstmal weiterhelfen, oder?
  • Das kommt auf die Klasse Vokabel an, die du ja selber programmierst.

    Quellcode

    1. public static class Vokabel {
    2. private String deutsch;
    3. private String englisch;
    4. private String franzoesisch;
    5. ... // Konstruktor
    6. ... // Get- und Set-Methoden
    7. // Nun eine Methode, die zum Vergleich dient
    8. public boolean equals(Vokabel vokabel) {
    9. if (vokabel.getDeutsch().equals(this.getDeutsch()) &&
    10. vokabel.getEnglisch().equals(this.getEnglisch()) &&
    11. vokabel.getFranzoesisch().equals(this.getFranzoesisch())) {
    12. return true;
    13. }
    14. else {
    15. return false;
    16. }
    17. }
    18. }
    Alles anzeigen


    Einen Vergleich machst du dann so:

    Quellcode

    1. vokabel1 = new Vokabel("a", "b", "c"); // entsprechend deinem Konstruktor
    2. vokabel2 = new Vokabel("d", "e", "f"); // entsprechend deinem Konstruktor
    3. ...
    4. if (vokabel1.equals(vokabel2)) {
    5. ...
    6. }
    7. else {
    8. ...
    9. }
  • gut also ich habe jetzt mal angefangen und mich an den Listen probiert...


    Quellcode

    1. import Prog1Tools.IOTools;
    2. import java.util.LinkedList;
    3. public class Test{
    4. public static class Vokabel{
    5. Vokabel(String d, String e, String f){
    6. deutsch = d;
    7. englisch = e;
    8. franzoesisch = f;
    9. }
    10. private String deutsch;
    11. private String englisch;
    12. private String franzoesisch;
    13. }
    14. public static void main (String[]args){
    15. LinkedList<Vokabel> Liste = new LinkedList<Vokabel>();
    16. Liste.add( new Vokabel("das Bett", "the bed", "le lit") );
    17. Liste.add( new Vokabel("die Strasse", "the street", "la rue") );
    18. Liste.add( new Vokabel("die Liebe", "the love", "l\'amour") );
    19. Liste.add( new Vokabel("die Musik", "the music", "la musique") );
    20. Liste.add( new Vokabel("das Haus", "the house", "la maison") );
    21. Liste.add( new Vokabel("der Hund", "the dog", "le chien") );
    22. Liste.add( new Vokabel("der Tisch", "the table", "la table") );
    23. Liste.add( new Vokabel("das Auto", "the car", "la voiture") );
    24. Liste.add( new Vokabel("die Stadt", "the city", "la ville") );
    25. Liste.add( new Vokabel("die Blume", "the flower", "la fleur") );
    26. // Starte das Programm mit einer Ausgabe
    27. System.out.println("===============");
    28. System.out.println("Vokabeltraining");
    29. System.out.println("===============");
    30. // Menue
    31. int exit = 0;
    32. while (exit!=1)
    33. start:{
    34. System.out.println();
    35. System.out.println("1 = Vokabeleingabe");
    36. System.out.println("2 = Vokabelausgabe");
    37. System.out.println("3 = Ende (Achtung: Vokabeln gehen verloren!");
    38. System.out.println();
    39. int auswahl = IOTools.readInteger("Ihre Wahl: ");
    40. System.out.println();
    41. switch (auswahl){
    42. case 1: // Vokabeln eingeben
    43. System.out.println("Wie viele Vokabeln moechtest du hinzufuegen?");
    44. System.out.println();
    45. int anzahl = IOTools.readInteger("Anzahl: ");
    46. System.out.println();
    47. for(int i =0; i<anzahl; i++){
    48. String d = IOTools.readLine("Deutsch: ");
    49. String e = IOTools.readLine("Englisch: ");
    50. String f = IOTools.readLine("Franzoesisch: ");
    51. Liste.add(new Vokabel(d, e, f));
    52. }
    53. }
    54. }
    55. }
    56. }
    Alles anzeigen



    was nehm ich für ne methode für die case 1 anweisung?
  • Naja, das hängt davon ab wie du es machen willst.
    Beispiel:

    Quellcode

    1. import Prog1Tools.IOTools;
    2. import java.util.LinkedList;
    3. public class Test{
    4. public static class Vokabel{
    5. Vokabel(String d, String e, String f){
    6. deutsch = d;
    7. englisch = e;
    8. franzoesisch = f;
    9. }
    10. private String deutsch;
    11. private String englisch;
    12. private String franzoesisch;
    13. /* Getter und Setter nicht vergessen,
    14. sonst kannst du die Infos nicht auslesen. :-) */
    15. }
    16. private static LinkedList<Vokabel> Liste = new LinkedList<Vokabel>();
    17. /* Anfangsbuchstaben von Vokabelnamen schreibt man in der
    18. Regel klein, da man sie sonst mit Klassennamen leicht
    19. verwechseln kann. Von der Funktion her ist das aber wurscht. */
    20. public static void main (String[]args){
    21. /* Das Folgende ist genau das, was du spaeter aus einer Datei
    22. auslesen sollst. Das wird sicher über kurz oder Lang in einer
    23. eigenen Methode landen. */
    24. Liste.add( new Vokabel("das Bett", "the bed", "le lit") );
    25. Liste.add( new Vokabel("die Strasse", "the street", "la rue") );
    26. Liste.add( new Vokabel("die Liebe", "the love", "l\'amour") );
    27. Liste.add( new Vokabel("die Musik", "the music", "la musique") );
    28. Liste.add( new Vokabel("das Haus", "the house", "la maison") );
    29. Liste.add( new Vokabel("der Hund", "the dog", "le chien") );
    30. Liste.add( new Vokabel("der Tisch", "the table", "la table") );
    31. Liste.add( new Vokabel("das Auto", "the car", "la voiture") );
    32. Liste.add( new Vokabel("die Stadt", "the city", "la ville") );
    33. Liste.add( new Vokabel("die Blume", "the flower", "la fleur") );
    34. // Starte das Programm mit einer Ausgabe
    35. System.out.println("===============");
    36. System.out.println("Vokabeltraining");
    37. System.out.println("===============");
    38. // Menue
    39. int exit = 0;
    40. while (exit!=1)
    41. start:{
    42. System.out.println();
    43. System.out.println("1 = Vokabeleingabe");
    44. System.out.println("2 = Vokabelausgabe");
    45. System.out.println("3 = Ende (Achtung: Vokabeln gehen verloren!");
    46. System.out.println();
    47. int auswahl = IOTools.readInteger("Ihre Wahl: ");
    48. System.out.println();
    49. switch (auswahl){
    50. case 1: // Vokabeln eingeben
    51. /* Das hier habe ich mal in eine Methode ausgelagert. */
    52. vokabelnEingeben();
    53. }
    54. }
    55. }
    56. static private void vokabelnEingeben() {
    57. System.out.println("Wie viele Vokabeln moechtest du hinzufuegen?");
    58. System.out.println();
    59. int anzahl = IOTools.readInteger("Anzahl: ");
    60. System.out.println();
    61. for(int i =0; i<anzahl; i++){
    62. String d = IOTools.readLine("Deutsch: ");
    63. String e = IOTools.readLine("Englisch: ");
    64. String f = IOTools.readLine("Franzoesisch: ");
    65. Liste.add(new Vokabel(d, e, f));
    66. }
    67. }
    68. }
    Alles anzeigen


    (Kann sein, dass ich mich rigendwo bei den Klammern vertan hab.)

    Edit:
    Hab einen Fehler von mir gesehen. Da die Liste in der Methode nicht zur Verfügung steht, muss sie global deklariert werden. Hab den Code also nochmal geändert. Eine andere Möglichkeit wäre es, die Liste per Übergabeparameter zu übergeben.
  • Moin moin

    bin fast begeistert =)
    Nein - nicht schlecht, dass du doch etwas auf uns hörst.

    In wie fern, was für ne Methode?
    Meinst du private oder public? oder was die Methode machen soll?
    Bei private und public solltest du dir überlegen, ob von außerhalb der Klasse auf die Methode zugegriffen werden soll. Also ob eine andere Klasse diese Methode verwenden darf.
    Was in der Methode drin steht: Eigentlich nur alles, hinter case 1: und ;break steht.

    ABER noch nen kleinen Verbesserungsvorschlag.
    Im Eigentlichen kannst du zwar schreiben wie du bock hast, aber bei Java (und auch bei anderen Programmiersprachen) gibt es gewissen Konventionen die man dann doch einhalten SOLLTE.
    So werden z.B. Klassen am Anfang immer Groß geschrieben.
    Methoden dagegen fangen mit einem kleinen Buchstaben an.
    Variablen werden auch klein geschrieben und Konstanten IMMER GROß ;)
    Bei zusammengesetzen Wörtern wird das ganze in der Art erstellt:
    Beispiel für ne Methode:
    wasWeissIchDenn()

    Lange Rede kurzer Sinn.
    Bitte schreibe Liste klein.

    So und nun zu ein paar weiteren Kleinigkeiten.
    1. Du hast bei case 1: das beark begessen. Muss noch dahin, egal ob Methode oder nicht Methode
    2. Da du mit einer Liste arbeitest, ist es relativ uninteressant dir vom Benutzer die genaue Anzahl an Vokabeln geben zu lassen, du er eintragen will. Besser verwendest du irgendein Wort bei dem abgebrochen wird.
    3. Mit deiner inneren Klasse Vokalben bin ich nicht so ganz glücklich. Ersten schreibt man die Variablendeklarationen an den Anfang (vor den Konstruktor). Des weiteren hat man keine Möglichkeit mehr auf die Vokabeln zuzugreifen. Da es einer inner class ist kommst du auch an die private Variablen dran, aber getter und setter Methoden wären schöner (solltest du eclipse verwenden strg + shift + s und dann auf "Generate getters and setters...)

    So das reicht mal fürs erste.

    Gruss
    Ubuntu Edgy * Kernel 2.6.17 * Gnome 2.16 * Beryl
    2 x Athlon MP 1900 * MSI K7D Master-L * 1024 MB ECC DDR333
    Hercules 9800XT 256 MB Ram * 1x 250 GB IDE
    Wasserkühlung
  • hey es war schon schwer genug das ganze hinzukriegen... wusste ja nicht mal was ein konstruktor is... was is denn bitte ein setter und ein getter? :?:

    Wegen der case anweisung... ja das break fehlt weil ich erstmal bis dahin geschrieben hatte... so und jetzt weiß ich halt nich welche art von methode ich nehmen soll... es gibt ja diese mit dem rückgabetyp return, aber die brauch ich hier wohl nicht... ich hatte es gestern schon mit ner methode probiert, aber da hatte er nen problem, er konnte auf die liste da nicht zu greifen... so wie ich das verstanden hab:

    Quellcode

    1. public static void Eingabe(){
    2. System.out.println("Wie viele Vokabeln moechtest du hinzufuegen?");
    3. System.out.println();
    4. int anzahl = IOTools.readInteger("Anzahl: ");
    5. System.out.println();
    6. for(int i =0; i<anzahl; i++){
    7. String d = IOTools.readLine("Deutsch: ");
    8. String e = IOTools.readLine("Englisch: ");
    9. String f = IOTools.readLine("Franzoesisch: ");
    10. Liste.add(new Vokabel(d, e, f));
    11. }
    12. }
    Alles anzeigen


    ehrlich gesagt hab ich 0 plan von den methoden... in die klammer nach "Eingabe" muss ja auch noch irgendwas rein...
    und bei case 1 muss ich ja dann irgendwie auf diese methode verweisen...


    Edit: oh grad gesehen dass mir ja jemand oben eine methode als beispiel gegeben hat...und es funktioniert :)
  • was is denn bitte ein setter und ein getter


    Getter und Setter-Methoden sind Methoden, mittels denen amn auf Attribute eines Objektes zugreifen kann. Da diese meistens nach dem Geheimnisprinzip arbeiten.

    Heißt du hast ein Objekt: Mülltonne mit dem String Attribute müll.

    Dann kannst du so nicht auf Müll zugreifen

    Quellcode

    1. Mülltonne mt = new Mülltonne();
    2. String müllInhalt = mt.müll


    sondern musst so darauf zugreifen:

    Quellcode

    1. Mülltonne mt = new Mülltonne();
    2. String müllInhalt = mt.getMüll()



    Diese Methoden musst du aber selbst schreiben! Attribute werden dann meistens mit
    private - Nur das Objekt kann darauf zugreifen

    oder

    protected - Auch alle Klassen, die von dieser Klasse erben können darauf zugreifen

    deklariert. Falls du so einen Deklaration nicht vornimmst, sind Variablen public - heißt jeder kann darauf frei zugreifen, wie er lustig ist.

    Noch ein bisschen was zum lesen: de.wikipedia.org/wiki/Geheimnisprinzip
  • "Neon" schrieb:

    hey es war schon schwer genug das ganze hinzukriegen... wusste ja nicht mal was ein konstruktor is... was is denn bitte ein setter und ein getter? :?:


    Das habe ich schon einmal in einem früheren Post gesagt. Hier nochmal:

    Quellcode

    1. public static class Vokabel{
    2. private String deutsch;
    3. public Vokabel(String deutsch) {
    4. this.deutsch = deutsch;
    5. }
    6. public String getDeutscheUebersetzung() {
    7. return this.deutsch;
    8. }
    9. public void setDeutscheUebersetzung(String deutsch) {
    10. this.deutsch = deutsch;
    11. }
    12. }
    Alles anzeigen


    "Neon" schrieb:

    er konnte auf die liste da nicht zu greifen... so wie ich das verstanden hab:

    Absolut richtig. Die Variablen sind nur in einem bestimmten Bereich gültig. Wenn du von mehreren Methoden auf die selbe Variable zugreifen willst, dann musst du sie global deklarieren (siehe mein obiges Beispiel) oder man übergibt sie der Methode als Parameter.

    "Neon" schrieb:

    in die klammer nach "Eingabe" muss ja auch noch irgendwas rein...

    Muss nicht! Es kann aber! Das sind die sogenannten Übergabeparameter. Das einfachste Beispiel ist die Getter- und die Settermethode.

    "Neon" schrieb:


    Edit: oh grad gesehen dass mir ja jemand oben eine methode als beispiel gegeben hat...und es funktioniert :)

    Dieser völlig unbedeutende Jemand bin ich. :)
  • jetzt gibts bestimmt gleich wieder mecker...also habe mal case 2: umgesetzt...

    Quellcode

    1. case 2: // Vokabeln ausgeben
    2. System.out.println("1 = Vokabelausgabe in Deutsch");
    3. System.out.println("2 = Vokabelausgabe in Englisch");
    4. System.out.println("3 = Vokabelausgabe in Franzoesisch");
    5. int auswahl2 = IOTools.readInteger("Ihre Wahl: ");
    6. System.out.println();
    7. switch(auswahl2){
    8. case 1: // Vokabelausgabe in D
    9. vokabelnAusgebenD();
    10. break;
    11. case 2: // Vokabelausgabe in En
    12. vokabelnAusgebenE();
    13. break;
    14. case 3: // Vokabelausgabe in Frz
    15. vokabelnAusgebenF();
    16. break;
    17. }
    Alles anzeigen


    und dazu case 1 davon:

    Quellcode

    1. static private void vokabelnAusgebenD(){
    2. System.out.println("Wie viele Vokabeln sollen abgefragt werden?");
    3. System.out.println();
    4. int vokzahl = IOTools.readInteger("Ihre Wahl: ");
    5. System.out.println();
    6. for(int j=0; j<vokzahl; j++){
    7. int i = (int)(Math.random()*Liste.size());
    8. System.out.println("Deutsch: " + Liste.get(i).deutsch);
    9. System.out.println();
    10. String vok_e = IOTools.readLine("Englisch: ");
    11. if (vok_e.equalsIgnoreCase(Liste.get(i).englisch)) {
    12. System.out.println("Richtig!");
    13. } else {
    14. System.out.println("Falsch!");
    15. System.out.println("Richtige Antwort: " + Liste.get(i).englisch);
    16. }
    17. System.out.println();
    18. String vok_f = IOTools.readLine("Franzoesisch: ");
    19. if (vok_f.equalsIgnoreCase(Liste.get(i).franzoesisch)) {
    20. System.out.println("Richtig!");
    21. } else {
    22. System.out.println("Falsch!");
    23. System.out.println("Richtige Antwort: " + Liste.get(i).franzoesisch);
    24. }
    25. System.out.println();
    26. System.out.println("----------------------");
    27. }
    28. }
    Alles anzeigen


    also es funktioniert auch...

    na ja denke ma euch gefällt das nich wie ich es gemacht habe...