Infoprojekt

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

  • Moin moin

    So erst einmal:
    1. Was passiert, wenn man bei deinem Programm keine Zahl eingibt oder eine Zahl > 3?
    Mach dir mal ein paar Gedanken dazu.
    2. Dann gewöhn es dir gleich an Liste klein zu schreiben. Brauchst es dir später nicht mehr abzugewöhnen !!!!!!!!!!
    3. Sofern es nicht explizit in der Aufgabenstellung gefordert wird, würde ich vorschlagen, die Eingabe, wie viele Vokabeln jemand machen will, weg zu lassen.
    Brauchst dann nur noch ein "spezielles" Wort um abzubrechen

    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
  • tja was soll ich sagen... ich komm in info raum, sie guckt mich an, fängt an rumzuschnauzen... und ich sollte doch bitte nach vorne kommen wegen dem programm... sie meinte ich hätte das programm nicht selbst geschrieben und solle es ihr erklären...

    also fing ich oben an, dass das der konstruktor ist...da kam so *nein, das ist kein konstruktor*...was mich ziemlich verwirrte...und paar minuten später meinte sie *na hier oben hast du ja den konstruktor* ähm :?: sagte ich doch bereits... und sie wunderte es dass es inna public static class drin stand, also das ich ne innere klasse verwendet habe... na ja hab ihr dann das prog erklärt... und es vorgeführt... und sie saß da, übelst stinkig... was passiert da und da...blabla... na ja jedenfalls soll ich mich noch mal mit listen beschäftigen und ihr nächste woche das noch mal erklären und ein kleines programm schreiben...

    hab ihr auch x mal gesagt dass ich mich hier im forum danach erkundigt habe... das beweist ja schon dass ich das prog alleine geschrieben habe... na ja hat sie nicht interessiert
  • Moin moin

    Hehe hört sich nach einem fähigen Info-Lehrer an ;)
    Aber mach dir nix drauß.
    Als ich noch Schüler war, hatte ich mich immer so derb mit meinem Info-Lehrer in den Haaren, dass wir uns im Endeffekt gegenseitig ignoriert haben und er mir dafür ne "gut" gab.

    Denke mal, wenn du aber einen Großteil vom Programm erklären konntest, hast du es wenigstens verstanden.

    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
  • Mach dir nix draus. 1. Hast du das Programm größtenteils allein geschrieben, trotz Forumhilfe. 2. Hast du was gelernt, was viel wichtiger ist als Noten oder die Zufriedenheit deiner Lehrerin. 3. Du hast versucht dein eigenen Wissen zu erweitern und hast das auch geschafft. So eine Einstellung wird spätestens im Beruf oder im Studium belohnt. Egal ob das später was mit Informatik zu tun hat. Klar mit Hilfe von Anderen, aber solange du es verstanden hast ist das doch legitiem.

    Edit:
    Dafür, dass sie ursprüglich Dateizugriff wollte, wo man sich über Streams und Exception-Handling informieren muss, regt sie sich ganz schön auf...
  • na ja sie war der meinung dass ich das programm irgendwo kopiert habe... auch wenn sie erst meinte dass es gut is das ich mir was alleine beigebracht hab...aber sie glaubte mir wohl immer noch nicht dass es mein programm ist.

    aber wenn sie sich den forenteil hier angucken würde, würde sie sehen, dass ich nachgefragt habe und ihr mir erklärt habt wies geht. aber im endeffekt hab ichs ja geschrieben.

    klar konnte ich ihr das programm erklären, aber sie wollte dann plötzlich dass ich ihr so ein programm schreibe mit einer liste. aber aus dem kopf konnte ich das nicht.

    das mit den listen war ja eure idee... was weiß ich was sie wollte, irgendwas mit objekten. na ja immernoch besser als die felder-variante ;)
  • Naja, eine Liste beinhaltet Objekte. Objekte (auch Instanzen genannt) haben einem besitmmten Typ (der entspricht der Klasse).
    Du hast also (mit new LinkedList<Vokabel>()) eine Liste angelegt, die Objekte/Instanzen der Klasse/des Typs Vokabel beinhaltet. Das du das nicht auswenig kannst finde ich nicht verwerflich. Du hättest ja fragen können, ob du die JavaDoc verwenden darfst.
    (http://java.sun.com/j2se/1.5.0/docs/api/java/util/LinkedList.html)
    Dort stehen ja dann alle Methoden, die du brachst.
    Das in den eckigen Klammern <> nennt man übrigends Template.

    Listen sind absolut nichts falsches und sehr viel angenehmer als Arrays.
  • na ja erklären konnte ich es ja halt schon, nur nicht aus dem kopf, und das war dann ihr problem...weil sie ja fest davon überzeugt ist,dass ich das programm nicht geschrieben habe

    habe das jetzt erstma geschrieben, weil sie irgendwas mit nem auto wollte:

    Quellcode

    1. import Prog1Tools.IOTools;
    2. import java.util.LinkedList;
    3. public class Ueben {
    4. private String marke;
    5. private String farbe;
    6. private String alter;
    7. public Ueben(String m, String f, String a){
    8. marke = m;
    9. farbe = f;
    10. alter = a;
    11. }
    12. private static LinkedList<Ueben> Liste = new LinkedList<Ueben>();
    13. public static void main(String[] args) {
    14. Liste.add(new Ueben ("nissan", "blau", "7 jahre"));
    15. System.out.println(Liste.get(0).farbe);
    16. }
    17. }
    Alles anzeigen
  • Gähn

    Axo und dein Import von "import Prog1Tools.IOTools;" ist unnötig.

    Würde dir übrigens selbst bei solchen Testklassen empfehlen die Main-Methode nicht in die Klasse selber zu schreiben.
    Normalerweise geht man hin und erstellt ne Klasse (in deinem Fall alles bis vor die Liste) und nen Client (Testclient) mit der Main-Methode.

    Axo und noch einmal: Gewöhn dir gleich an variablen mit nem kleinen Buchstaben anfangen zu lassen (nicht Liste -> sondern liste)

    Falls es dich interessiert.
    Bei deinem Konstruktor kannst du auch hin gehen und

    Quellcode

    1. public Ueben(String marke, String farbe, String alter){
    2. this.marke = marke;
    3. this.farbe = farbe;
    4. this.alter = alter;
    5. }

    verwenden. Liest sich einfach besser.

    Gruss
    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
  • "Neon" schrieb:

    na ja das is dann wieder die sache mit dem this. befehl, den wir ja auch noch nicht hatten.

    das mit import prog1tools[...] is schon so fest drin, weil wir es oft verwenden.

    was ist ein "iterator"?


    Ein Iterator ist eine Hilfstruktur um z.B. Listen zu durchlaufen.

    Du sagst der Liste: Hey, gib mir nen Itarator. Dann gibt dir die Liste einen Iterator. Den Iterator kannste dann fragen, hast du noch Objekte zum iterieren, oder gib mir das nächster Objekt.

    Kannst ja hier nochmal gucken, ob dir das weiterhilft: rz.uni-hohenheim.de/anw/progra…java110000400036F1F01B105
  • ach sie will doch nur schnell n kurzes prog, und das was ich oben postete sollte wohl reichen ;)

    noch ne frage: hab ja oben festegelegt marke = m; farbe = f und so... aber wenn ich dann unten System.out.println(Liste.get(0).f); machen würde, nimmt er das nicht... wo liegt der fehler? mit System.out.println(Liste.get(0).farbe); gehts ja
  • Ganz einfach.
    m, f und a stehen nur im Konstruktor zur Verfügung (ist genauso bei Methoden und ihren Übergabeparametern). Genau aus diesem Grund speicherst du ja den Inhalt der Variablen m, f und a in die Variablen marke, farbe und alter. Letztere sind Objektattribute. Das heist, jedes Objekt von der Klasse Ueben besitzt diese Attribute. Wenn du sie public machen würdest, könntest du sie von überall für jedes Ueben-Objekt abrufen. So kannst du sie nur innerhalb der Ueben-Klasse abrufen (reicht ja, da du keine 2. Klasse hast).

    die Variablen m, f und a werden nach der Abarbeitung des Konstruktors wieder aus dem Speicher gelöscht.
  • Nichts gegen dich, aber du hast echt noch extreme Lücken.
    Die Lebensdauer und der Gültikkeitsbereich vor Variablen sind nicht gerade umwichtige Themen.

    Ihr scheint nen sehr "interessanten" Lehrer zu haben o_O
    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