Daten/Variable in Objekte einlesen

EifelFrosch

Mitglied
Hallo zusammen,

Ich habe eine Problem mit dem Einlesen von Objektvariablen (Objekt: Haus3, Variablen: String Ort und double qm)

Bei einer direkten Übergabe im Konstruktor funktioniert die Zuweisung und Ausgabe der Daten einwandfrei.
Nutze ich jedoch BufferedReader zum Einlesen der Variablen, werden alle erstellten Objekte von dem letzten ÜBERSCHRIEBEN. Ich habe schon versucht mit verschiedenen Eingabevariablen (eingabe 1-4) einzulesen, aber leider bringt das keine Abhilfe.
Vielleicht könnt Ihr mir den Grund sagen, warum immer wieder alles überschrieben wird, und wenn ja: Wie kann ich den Fehler beheben. Gibt es noch andere Möglichkeiten, die (Objekt)Variablen einzulesen?

Vielen Dank!
Haiko alias EifelFrosch

Quelltext:

import java.util.*;
import java.io.*;

class Haus3
{
static String ort;
static double qm;

static Vector v = new Vector();

Haus3() throws IOException
{
this.ort = ort;
this.qm = qm;
}

String ausgeben()
{
return "Hausausgeben: Ort " + ort + " Qm: " + qm;
}

public static void main (String [] args) throws IOException
{


BufferedReader eingabe1 = new BufferedReader(new InputStreamReader(System.in));
BufferedReader eingabe2 = new BufferedReader(new InputStreamReader(System.in));


Haus3 h1 = new Haus3();
System.out.println("Ort eingeben: ");
h1.ort = eingabe1.readLine();
System.out.println("Qm eingeben: ");
h1.qm = Double.parseDouble(eingabe2.readLine());

System.out.println(h1.ort + " " + h1.qm);

BufferedReader eingabe3 = new BufferedReader(new InputStreamReader(System.in));
BufferedReader eingabe4 = new BufferedReader(new InputStreamReader(System.in));

Haus3 h2 = new Haus3();
System.out.println("Ort eingeben: ");
h2.ort = eingabe3.readLine();
System.out.println("Qm eingeben: ");
h2.qm = Double.parseDouble(eingabe4.readLine());
System.out.println(h2.ort + " " + h2.qm);

System.out.println();

System.out.println(h1.ort + " " + h1.qm);
 
Lass bei ort und qm das static weg, mit static sind es Klassenvariablen, d.h. alle aus Haus3 instanzierten Objekte greifen auf die selbe Variable zu. Ohne static wird die Variable für jedes Objekt extra angelegt.
 

Neue Beiträge

Zurück