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);
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);