Ankündigung

Einklappen
Keine Ankündigung bisher.

Java - Ausgabe in Datei

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Java - Ausgabe in Datei

    Hallo,

    ich habe hier eine Java-Aufgabe und zwar die Spielsituation eines "Life Game" (alternativ Game of Life, Lifespiel oder Conways Spiel des Lebens) nicht nur auf dem Bildschirm auszugeben, sondern zeitgleich auch in einer .txt-Datei. Dabei soll dieselbe Print-Methode verwendet werden. Als Tipp gibt es "Parameter der Print-Anweisung".
    Den Code für das Lifegame hab ich, allerdings kriege ich es einfach nicht hin, es in einer Datei auszugeben. Ich muss zugeben, dass ich mich bis heute morgen lange nicht mehr mit Java befasst hatte.
    Ich dachte mir, ich nutze einfach einen Filewriter, erstelle diesen also mit

    FileWriter f1;

    mache dann einen try-catch-block mit

    f1 = new FileWriter("Dateiname.txt");
    f1.write(blabla);
    f1.close;

    Das funktioniert auch in einem eigenständigen Programm, allerdings nicht mehr, wenn ich es ins Game of Life kopiere. Ich hab keine Ahnung, warum, vielleicht muss da was vererbt werden?

    Die Fehlermeldungen beim Kompilieren lauten:

    cannot find symbol class FileWriter
    cannot find symbol class FileWriter
    cannot find symbol variable array
    cannot find symbol variable i
    cannot find symbol variable j
    cannot find symbol class IOException

    Ich denke mal, es ist ein Sichtbarkeitsproblem, aber ich kann es nicht lösen. Ich kann mir nicht erklären, warum der Compiler plötzlich "FileWriter" nicht mehr findet. Jemand Vorschläge?
    Den Code hänge ich mal im Anhang als java-File an. den FileWriter-Teil habe ich mit einem Kommentar markiert.

    Vielleicht kann mir ja jemand helfen.

    http://rapidshare.com/files/180755364/Uebung12.rar.html


    #2
    Ich push mal :)

    Kommentar


      #3
      ìch würd dir zu gern helfen. ich push etz einfach mal mit, weils mich auch interessiert.

      Kommentar


        #4
        ist der filewriter ne eigene klasse oder mit beim rest dabei?
        ich kann mir den code leider grad nicht angucken weil hier auf arbeit rapidshare geblockt wird:)

        falls es also nicht zuviel ist, könntest dus ja auch hier posten

        Kommentar


          #5
          import java.io.*;

          try {
          BufferedWriter out = new BufferedWriter(new FileWriter("daten.txt"));
          out.write(coolerstringundso);
          out.close();
          } catch (Exception e) {
          }

          //rest usw.

          Kommentar


            #6
            1. array muss großgeschrieben werden -> Array

            2. um die java klassen filewriter und ioexception zu nutzen müssen sie importiert werden, vermutlich hat das dein entwicklungstool automatisch gemacht.
            import java.io.FileWriter;
            import java.io.IOException;
            vermutlich werden sie beim spielcode nicht importiert

            3. in deinem Code schreibst du ja anstatt "blala" folgendes...
            f1.write(array[i][j]+"t");
            Zum einen muss Array großgeschrieben werden und zum anderen kennt er an der Stelle die Variablen i und j nicht. wenn ich es auf die schnelle richtig sehe benutzt du vorher i und j nur in der schleife, daher sind sie nicht für die ganze methode deklariert. oder so ähnlich, bin auch kein javacrack ;)

            //edit:
            4. jupp wie mein vorredner sagt, nutzt du am besten den bufferedwriter

            Kommentar


              #7
              So funktioniert es, du kannst deine print-methode einfach durch diese ersetzen... (und den import oben in der klasse nicht vergessen)
              public void print() {

              try {
              BufferedWriter out = new BufferedWriter(new FileWriter(
              "C:\life_sim.txt"));

              for (int i = 0; i < Array.length; ++i) {
              for (int j = 0; j < Array[i].length; ++j) {
              System.out.print(Array[i][j] ? (tempArray[i][j] ? "O" : "X") : (tempArray[i][j] ? "+" : "-"));
              out.write(Array[i][j] ? (tempArray[i][j] ? "O" : "X") : (tempArray[i][j] ? "+" : "-"));
              System.out.print(" ");
              out.write(" ");
              }
              System.out.println();
              out.write("n");
              }
              System.out.println();
              out.write("n");
              out.close();

              } catch (IOException e) {
              e.printStackTrace();
              }
              }

              Kommentar


                #8
                wollte dir gerade helfen aber haben ja schon andere gemacht. Wie kommst eigentlich darauf auf Readmore Programmierprobleme zu posten? Da gibts sicher bessere Anlaufstellen

                Kommentar

                Lädt...
                X