Problem bei Programm!

Status
Nicht offen für weitere Antworten.

MilkaKuh

Mitglied
Hi,

ich hab ein problem, und zwar will ich ein Programm schreiben, wo man Name, PLZ, Telefonnummer, Straße und Hausnummer eingeben kann und dann auf ein button klickt und das ganze geordnet untereinander in einem fester ausgibt und gleichzeitig in eine .txt File speichert! ich hab schon ein bisschen angefangen, aber an der ausgabe stimmt was nicht, hier der code:


Code:
String a = pf1.getText();
  String b = "Test";

  if (a.equals(b)){

  String name = tf1.getText();
  double PLZ = Double.parseDouble(tf2.getText());
  double Tel = Double.parseDouble(tf3.getText());
  String Straße = tf4.getText();
  double Hnummer = Double.parseDouble(tf5.getText());
  
   ta.setText(name + "\n"); 
   ta.append(""+PLZ + "\n" + ""+Tel + "\n"); 
   ta.setText(Straße + " "); 
   ta.append(""+Hnummer);

 




  }


  else if (a.equals(b)){

    ta.setText("Sie haben ein falsches Passwort eingegeben! Der zugriff wurde ihnen verweigert!");



Fehler zeigt es keine an! aber er gibt nur die letzten beiden Zeilen aus (also er gibt das aus, was ich als Straße und Hausnummer angegeben hab)!

wieso??

weiß grad echt net warum?

is mein erstes selber geschriebenes progg, also net lachen 😉!


Danke
 
probiermal so:
Code:
ta.setText(name + "\n");
   ta.append(""+PLZ + "\n" + ""+Tel + "\n");
   ta.append(Straße + " ");
   ta.append(""+Hnummer);

ist klar wieso ?
 
ganz klar ists mir no net!
nur eine frage noch!

Kann ich mit append auch Zeichen ausgeben? das hab ich net gwusst, habs zwar getestet, aber ging nicht!

noch was! wenn ich das mit double mach ist das nicht gut! die Ausgabe wird beeinflusst, wegen Komma zahlen!

was würdet ihr sonst sagen, mit int, oder?

jetzt funktioniert es, danke!
 
setText("Stev Glasow") setzt den text von ta und überschreibt alles was vorher drin stand. wenn also vorher "Klaus Peter" in ta stand und du ta.setText("Stev Glasow") aufrufst steht in ta "Stev Glasow" - das "Klaus Peter" ging verloren:

bei ta.append("java-forum.net") wird er text nicht überschrieben sondert angehängt :
in ta würde jetzt "StevGlasowjava-forum.net" stehen.

also mit irgend welchen ausgaben hat das alles nix zutun.


war das verständlich erklärt, so dass dir das jetzt klar ist ?


<edit>
und nimm anstelle von double
Code:
double Tel = Double.parseDouble(tf3.getText());
einen String
Code:
String Tel = tf3.getText();

das macht sich, außer du willst z.B. mit 'Tel' noch etwas berechnen, einfacher.
 
jo, is mir jetzt klar, das hatte ich vergessen 😛! Hat man uns gesgt!

Ich habs jetzt mit int gemacht! geht auch gut!


jetzt versuche ich noch, das das ganze in einer .txt File gespeichert wird!

Das muss ich doch mit dem Bufferwriter machen oder wie der heisst, oder?
 
joh - Bufferwriter kann man dafür nehmen
<edit>
quatsch der heist doch BufferedReader
<edit>
och mensch. ich glaub ich brauch urlaub: ich meinte BufferedWriter - der ist es aber (100 pro)
 
ich meinte BufferedWriter! wieso denn Reader? ich will doch die sachen die ich eingegeben hab (und die auch ausgegeben werden) in eine .TXT datei speichern! wie mach ich das?

ich hab in nem Java Buch nachgeguckt aber das will net so recht wie ich mir das vorstelle, habt ihr eine idee?





Code:
    BufferedWriter f;
      String s;

      try {
        f = new BufferedWriter(
            new FileWriter("Organizer.txt"));
        for (int i = 1; i <= 10000; ++i) {
          s = "Dies ist die " + i + ". Zeile";
          f.write(s);
          f.newLine();
        }
        f.close();
      }
      catch (IOException e) {
      
     ta.setText(name + "\n");
     ta.append("" + PLZ + " " + Stadt + "\n" + "" + Tel + "\n");
     ta.append(Straße + " ");
     ta.append("" + Hnummer);

        
        
      }

    }


das ist der Code bis jetzt bei mir, also für das speichern der Ausgabe in eine .TXT file!
 
mein fehler. dein gedanke, den BufferedWriter zunehmen, war vollkommen richtig.
 
ja, hab ich in dem Buch gelesen! aber ich weiß noch net so richtig wie ich ihn anwenden soll! kapier net alles was in dem code wo ich oben angehängt hab steht! also im beitrag von mir davor!

wie kann ich da meine Ausgaben speichern??

Danke
 
so:
Code:
...
      String s1 = "blabla";
     String s2 = "balabala";
      ....
     f.write(s1, 0 , s1.length());
    f.newLine();
    f.write(s2, 0 , s1.length());
       ....
(der rest war in ordnung)


die textdatei sieht dann so aus:
Code:
blabla
balabala
 
hm, also muss die ausgabe in catch rein?!

also dann ungefähr so:



Code:
try {
        f = new BufferedWriter(
            new FileWriter("Organizer.txt"));
             for (int i = 1; i <= 10000; ++i) {         //für was sind die 2 zeilen??
          s = "Dies ist die " + i + ". Zeile";           //              -"-
          f.write(s);
          f.newLine();
        }
        f.close();
      }


      catch {

     ta.setText(name + "\n");
     ta.append("" + PLZ + " " + Stadt + "\n" + "" + Tel + "\n");
     ta.append(Straße + " ");
     ta.append("" + Hnummer);
 
auch so ja die text datei würde dann so ausehen:
Code:
Dies ist die 1 Zeile
Dies ist die 2 Zeile
Dies ist die 3 Zeile
(usw.)
ich dachte nur eben, dass du dein string s ausgeben willst



hm, also muss die ausgabe in catch rein?!
:shock: - ich glaube wir reden aneinander vorbei.

was soll denn das
Code:
ta.setText(name + "\n");
     ta.append("" + PLZ + " " + Stadt + "\n" + "" + Tel + "\n");
     ta.append(Straße + " ");
     ta.append("" + Hnummer);
in dem catch ???
 
solangsam glaub ich das auch! 🙂

hast du icq? könnt ich deine nummer haben?

ich weiß jetzt glaub wie dus gemeint hast, progg gerade um!

mal sehn obs was wird!
 
eine icq-nummer habe ich nicht - muss jetzt auch erstmal was suchen und das macht sich nicht beim chaten (oder was man mit icq auch immer macht)
 
aso, naja egal! ich hab jetzt noch ein bisschen rumprobiert, geht leider noch net, aber ich denke ich habs ungefähr, das ists wie ich es hab:




Code:
 BufferedWriter f;
      String s1;
      String s2;
      String s3;
      String s4;

      try {
        f = new BufferedWriter(
            new FileWriter("Organizer.txt"));

        s1 = ta.setText(name + "\n");
        s2 = ta.append("" + PLZ + " " + Stadt + "\n" + "" + Tel + "\n");
        s3 = ta.append(Straße + " ");
        s4 = ta.append("" + Hnummer);

        f.write(s1);
        f.write(s2);
        f.write(s3);
        f.write(s4);
        f.newLine();

        f.close();
      }

      catch (IOException e) {

        ta.setText("Fehler beim Erstellen der Datei");

      }
    }


irgnedwie stimmt das no net wirklich!
 
probier mal so:

Code:
 BufferedWriter f;
      String name = tf1.getText();
      String PLZ = tf2.getText();
  String Tel = tf3.getText();
  String Straße = tf4.getText();
  String Hnummer = tf5.getText(); 

      try {
        f = new BufferedWriter(
            new FileWriter("Organizer.txt"));
        f.write(name, 0, name.length());
        f.newLine();

        f.write(PLZ, 0, PLZ.length());
        f.newLine();

        f.write(Tel, 0, Tel.length());
        f.newLine();

        f.write(Straße, 0, Straße.length());
        f.newLine();

        f.write(Hnummer, 0, Hnummer.length());


        f.close();
      }

      catch (IOException e) {

        ta.setText("Fehler beim Erstellen der Datei");

      }
    }

deine ansätze waren schon richtig aber so ist's am einfachsten nach zuvollziehen.

edit: hatte über all 0, name.length() vergessen, das musst du noch ändern
 
hmm, leider gehts net! da ich name, PLZ, Tel usw. weiter oben als int definiert hab! ich habe dann unten bei deinem Code die String überall weggemacht, aber es is immer noch falsch! außerdem zeigt er das seltsame in der Klammer nach catch falsch an!

hier mal mein komplettes prog:


Code:
    String a = pf1.getText();
    String b = "Test";

    if (a.equals(b)) {

      String name = tf1.getText();
      int PLZ = Integer.parseInt(tf2.getText());
      String Stadt = tf3.getText();
      int Tel = Integer.parseInt(tf4.getText());
      String Straße = tf5.getText();
      int Hnummer = Integer.parseInt(tf6.getText());
      ta.setText(name);

      ta.setText(name + "\n");
      ta.append("" + PLZ + " " + Stadt + "\n" + "" + Tel + "\n");
      ta.append(Straße + " ");
      ta.append("" + Hnummer);

      BufferedWriter f; 
    name = tf1.getText(); 
    PLZ = tf2.getText(); 
    Tel = tf3.getText(); 
    Straße = tf4.getText(); 
    Hnummer = tf5.getText(); 

    try { 
      f = new BufferedWriter( 
          new FileWriter("Organizer.txt")); 
      f.write(name); 
      f.newLine(); 

      f.write(PLZ); 
      f.newLine(); 

      f.write(Tel); 
      f.newLine(); 

      f.write(Straße); 
      f.newLine(); 

      f.write(Hnummer); 


      f.close(); 
    } 

    catch (IOException e) { 

      ta.setText("Fehler beim Erstellen der Datei"); 

    } 
  }

    

    else if (a.equals(b)) {

      ta.setText("Sie haben ein falsches Passwort eingegeben! Der zugriff wurde ihnen verweigert!");
    }
  }
 
dann so:

Code:
...
      String name = tf1.getText();
      int PLZ = Integer.parseInt(tf2.getText());
      String Stadt = tf3.getText();
      int Tel = Integer.parseInt(tf4.getText());
      String Straße = tf5.getText();
      int Hnummer = Integer.parseInt(tf6.getText());
      ta.setText(name);

      ta.setText(name + "\n");
      ta.append("" + PLZ + " " + Stadt + "\n" + "" + Tel + "\n");
      ta.append(Straße + " ");
      ta.append("" + Hnummer);

      BufferedWriter f; 
    String PLZStr = (new Int(plz)).toString(); 
    String TelStr = (new Int(Tel)).toString(); 
    String HnummerStr = (new Int(Hnummer)).toString(); 

    try { 
      f = new BufferedWriter( 
          new FileWriter("Organizer.txt")); 
      f.write(name, 0 , name.lenth()); 
      f.newLine(); 

      f.write(PLZStr, 0, PLZStr.length()); 
      f.newLine(); 

      f.write(TelStr, 0, TelStr.length()); 
      f.newLine(); 

      f.write(Straße, 0, Straße.length()); 
      f.newLine(); 

      f.write(HnummerStr, 0, HnummerStr.length()); 


      f.close(); 
    ...

versteh zwar nicht warum du PLZ, Tel und Hnummer unbedingt als integer haben willst - aber nagut.
 
soo, hab jetzt PLZ und so auch in String gemacht! jetzt hab ich nur noch einen fehler! das in der klammer nach catch ist irgendwie falsch!


Code:
String a = pf1.getText();
    String b = "Test";

    if (a.equals(b)) { 
   
         String name = tf1.getText(); 
         String PLZ = tf2.getText(); 
         String Stadt = tf3.getText(); 
         String Tel = tf4.getText(); 
         String Straße = tf5.getText(); 
         String Hnummer = tf6.getText(); 
         ta.setText(name); 
   
         ta.setText(name + "\n"); 
         ta.append("" + PLZ + " " + Stadt + "\n" + "" + Tel + "\n"); 
         ta.append(Straße + " "); 
         ta.append("" + Hnummer); 
   
         BufferedWriter f; 
       PLZ = PLZ;
       Tel = Tel;
       Hnummer = Hnummer;
   
       try { 
         f = new BufferedWriter( 
             new FileWriter("Organizer.txt")); 
         f.write(name, 0 , name.length()); 
         f.newLine(); 
   
         f.write(PLZ, 0, PLZ.length()); 
         f.newLine(); 
   
         f.write(Tel, 0, Tel.length()); 
         f.newLine(); 
   
         f.write(Straße, 0, Straße.length()); 
         f.newLine(); 
   
         f.write(Hnummer, 0, Hnummer.length()); 
   
   
         f.close(); 
       } 
   
       catch (IOException e) { 
   
         ta.setText("Fehler beim Erstellen der Datei"); 
   
       } 
     } 
   
   
   
       else if (a.equals(b)) { 
   
         ta.setText("Sie haben ein falsches Passwort eingegeben! Der zugriff wurde ihnen verweigert!"); 
       } 
     }


das ist falsch: (IOException e)

vielleicht weißt du ja noch weiter 🙂! danke für alles!
 
e wurde schon bei
Code:
ActionEvent e
genutzt

also:
Code:
catch (IOException err)
nicht
Code:
catch (IOException e)



übrigend macht folgendes keinen sinn:
Code:
if (a.equals(b))
...
else if (a.equals(b))
 
dankeschön! hab jetzt keinen fehler mehr! und das programm läuft auch!

jo, bei der else if zeile hab ich ! vergessen, danke!

eins noch, wo ist jetzt die .txt datei gespeichert?

OK HABS GEFUNDEN!

danke für alles
 
[schild=9 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Bitte[/schild]
 
soo, da ja die ausgabe nun funktioniert hab ich mal getestet ob ich auch einlesen kann 🙂! also mit BufferedReader!

ich habe soweit keine Fehler mehr drin, aber es geht einfach nicht, außerdem wieso kann man damit nur aus .sys dateien lesen??

hier mal der code:

Code:
 BufferedReader f;
    String line;

    try {
      f = new BufferedReader(new FileReader("C:\blubb.txt"));
      while ( (line = f.readLine()) != null) {
        ta.setText(line);
      }
      f.close();

    } catch (IOException err) {
      ta.setText("Fehler beim Lesen der Datei");

    }


  }
}


ok, hat sich fast schon erledigt! er hat was aus einer .TXT ausgelesen, aber leider nu die unterste zeile! muss noch mal schauen ob ich es hinbekomm das er alles ausliest! falls ihrs wisst, könnt ihrs ja posten!

Merci!


DURCH ÜBERLEGEN HAB ICHS HINBEKOMMEN 😀!! Tjaajaa 😀
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben