Vektoren und Objektwerte

Status
Nicht offen für weitere Antworten.

Sponko

Mitglied
Moin zusammen!
sooo, ich habe da wiedermal ein Problem... Habe bislang folgendes zusammengekriegt, der Compiler zeigt auch keine Fehler mehr an, aber irgendwie macht die Kiste nicht was sie soll. Ich möchte, dass wenn ich in dem Auswahlmenue die "1" (Eingabe) drücke, das mir ein neuer vektor angelegt wird und ich dem neuen VektorObjekt mit der Methode "gebeDatenEin" die entsprechenden werte zuweisen. jetzt müsste ich doch in der Methode "gebeEin", wo der neue Vektor erstellt wird auf irgendeine Art und weise eine Verbindung zu der Methode "gebeDatenEin" herstellen, aber ich habe echt keine Ahnung wie man sowas anstellen könnte. Kann mir da mal jemand unter die Arme greifen?

Code:
import java.io.*;
public class MessdatenJS
{
String messart;
int identnummer;
double messwert;
String einheit;
String pruefername;
int datum;

public void weisedatenzu()
{
this.messart="Lichtstaerke";
this.identnummer=496738;
this.messwert=123.456;
this.einheit="cd";
this.pruefername="x y";
this.datum=17042007;
}

public MessdatenJS()
{
weisedatenzu();
}

public MessdatenJS(String a, int i, double w, String e, String n, int d)
{
this.messart=a;
this.identnummer=i;
this.messwert=w;
this.einheit=e;
this.pruefername=n;
this.datum=d;
}

public void gebeDatenEin()
{
BufferedReader ein=new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.print("Messart :");
this.messart=ein.readLine(); 
System.out.print("Identifizierungsnummer :");
this.identnummer=Integer.valueOf(ein.readLine()).intValue(); 
System.out.print("Messwert :");
this.messwert=Double.valueOf(ein.readLine()).doubleValue(); 
System.out.print("Masseinheit :");
this.einheit=ein.readLine(); 
System.out.print("Name des Pruefers :");
this.pruefername=ein.readLine(); 
System.out.print("Datum :");
this.datum=Integer.valueOf(ein.readLine()).intValue(); 
}
catch(IOException ioe)
{
System.out.println(ioe.toString());
}
}


public void gebeAufBildschirmAus()
{
System.out.println("Messart :"+this.messart);
System.out.println("Identifizierungsnummer :"+this.identnummer);
System.out.println("Messwert :"+this.messwert);
System.out.println("Einheit :"+this.einheit);
System.out.println("Pruefername :"+this.pruefername);
System.out.println("Datum :"+this.datum);
}

public static void main(String[] args)
{
MessdatenJS pdneuedaten1= new MessdatenJS();
MessdatenJS pdneuedaten2= new MessdatenJS("Strom", 496739, 0123, "mA", "x y", 14052007);
MessdatenJS pdneuedaten3= new MessdatenJS("Spannung", 496740, 124, "mV", "x y", 14052007);


System.out.println("\nMessdatenJS");
pdneuedaten1.gebeAufBildschirmAus();
pdneuedaten2.gebeAufBildschirmAus();
pdneuedaten3.gebeAufBildschirmAus();
}
}

Und wieder die MessdatenverwaltungJS

Code:
import java.io.*;
import java.util.*;

public class MessdatenverwaltungJS
{

private Vector vMessdatensatz=new Vector(6,2);

public static void main(String[] args)
{
MessdatenverwaltungJS a=new MessdatenverwaltungJS();
a.waehleAus();
}

private void waehleAus()
{
int e=0;
BufferedReader menueein=new BufferedReader(new InputStreamReader(System.in));
do
{
System.out.println("\n\n Bitte geben Sie Ihre Auswahl ein:\n");
System.out.println("Eingabe = 1");
System.out.println("BildschirmAusgabe = 3");
System.out.println("Loeschen = 5");
System.out.println("Einfuegen = 6");
System.out.println("Eingabe aus Datei = 7");
System.out.println("Ausgabe in Datei = 8");
System.out.println("Ende = 9");
System.out.print("->");
try
{
e=Integer.valueOf(menueein.readLine()).intValue();
}
catch(IOException ioe)
{
System.out.println(ioe.toString());
}
switch (e)
{
case 1:this.gebeEin();break;
case 3:this.gebeAus();break;
case 5:this.loescheAnStelle();break;
case 6:this.fuegeEin();break;
case 7:this.leseAusDatei();break;
case 8:this.schreibeInDatei();break;
case 9:System.exit(0);break;
default: System.out.println("ungueltige Eingabe!");
}
}while(e!=9);
}

private void gebeEin()
{
MessdatenJS messdatensatz=new MessdatenJS();
vMessdatensatz.addElement(messdatensatz);
}

private void gebeAus()
{
for(int k=0;k<vMessdatensatz.size();k++)
((MessdatenJS)vMessdatensatz.elementAt(k)).gebeAufBildschirmAus();
}

private void leseAusDatei()
{
try
{
BufferedReader ein =new BufferedReader(new FileReader("D:\\GruppeC.DAT"));
int n=Integer.valueOf(ein.readLine()).intValue();
for(int i=0;i<n;i++)
{
String messart=(String)ein.readLine();
int identnummer=Integer.valueOf(ein.readLine()).intValue();
double messwert=Double.valueOf(ein.readLine()).doubleValue();
String einheit=(String)ein.readLine();
String pruefername=(String)ein.readLine();
int datum=Integer.valueOf(ein.readLine()).intValue();
MessdatenJS messdatensatz=new MessdatenJS(messart, identnummer, messwert, einheit, pruefername, datum);
vMessdatensatz.addElement(messdatensatz);
}
ein.close();
}
catch (IOException ioe)
{
System.out.println(ioe.toString());
}
}

private void schreibeInDatei()
{
try{
BufferedWriter aus=new BufferedWriter(new FileWriter("D:\\GruppeC.DAT"));
aus.write(""+vMessdatensatz.size());
aus.newLine();
for(int i=0;i<vMessdatensatz.size();i++)
{
aus.write(((MessdatenJS)vMessdatensatz.elementAt(i)).messart);
aus.newLine();
aus.write(""+((MessdatenJS)vMessdatensatz.elementAt(i)).identnummer);
aus.newLine();
aus.write(""+((MessdatenJS)vMessdatensatz.elementAt(i)).messwert);
aus.newLine();
aus.write(((MessdatenJS)vMessdatensatz.elementAt(i)).einheit);
aus.newLine();
aus.write(((MessdatenJS)vMessdatensatz.elementAt(i)).pruefername);
aus.newLine();
aus.write(""+((MessdatenJS)vMessdatensatz.elementAt(i)).datum);
aus.newLine(); 
}
aus.close();
}
catch (IOException ioe)
{
System.out.println(ioe.toString());
}
}

private void loescheAnStelle()
{
String vergleichsmessart="";
try
{
BufferedReader ein=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Messart :");
vergleichsmessart=(String)ein.readLine();
}
catch (IOException ioe)
{
System.out.println(ioe.toString());
}
for(int k=0;k<vMessdatensatz.size();k++)
if(((MessdatenJS)vMessdatensatz.elementAt(k)).messart.compareTo(vergleichsm
essart)==0)vMessdatensatz.removeElementAt(k);
}

private void fuegeEin()
{
int stelle=0;
MessdatenJS messdatensatz=new MessdatenJS();
try
{
BufferedReader ein=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Einfuegestelle :");
stelle=Integer.valueOf(ein.readLine()).intValue();
}
catch (IOException ioe)
{
System.out.println(ioe.toString());
}
vMessdatensatz.insertElementAt(messdatensatz,stelle);
} 
}
 
S

SlaterB

Gast
von mir ein Tipp:

dein Problem hängt sicherlich nicht davon ab, ob Messdaten aus 6 unterschiedlichen Werten
String messart;
int identnummer;
double messwert;
String einheit;
String pruefername;
int datum;
bestehen, oder nur als einem:
int test;

dein Programm wird durch diese 6 Werte aber unendlich lang und damit unlesbar
(Formatierung schadet übrigens auch nicht)

warum du irrelevante Operationen wie
private void schreibeInDatei()
postest ist mir auch schleierhaft
 

Sponko

Mitglied
Moin !
Hast ja recht, die Übersicht geht dabei wirklich flöten. Die "schreibeInDatei" und andere sind für besagtes Problem sicher irrelevant, aber später soll das auch funktionieren. Habe zuerst alle Methoden und so geschreiben, die sollten ja auch unabhängig voneinander laufen. Hab dass so gepostet, um zu zeigen worum es geht.

Die 6 unterschiedlichen Werte sind vorgegeben, mit dem Problem hängen die (soweit ich das sheh, muss aber nicht viel heissen :wink: )nicht zusammen. Ich suche ja "nur" die möglichkeit nach der Vektorerstellung die werte dazu einzugeben, wie in "gebeDatenAus". wie könnte sowas denn aussehen?
 

Sponko

Mitglied
OkOk, hast ja recht...
Aber warum glaubst du stelle ich das hier im "Anfängerfragen" ? Ich habe wirklich nicht den plan, das ist das erste "projekt" mit java, dass ich anfange.

Nunja, auf jeden Fall danke für die Hilfe, jetzt läufts !
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Vektoren Java Basics - Anfänger-Themen 11
J Vektoren Add gibt nicht das aus was es sollte Java Basics - Anfänger-Themen 3
J Vektoren (2-dimensional) Java Basics - Anfänger-Themen 2
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
D Vektoren Initialisieren Java Basics - Anfänger-Themen 1
B Kreuzprodukt zweier Vektoren (Erste Java Aufgabe - Hilfestellungen und Tips erwünscht) Java Basics - Anfänger-Themen 4
S OOP Werte von Vektoren mit 3 Variablen ausgeben lassen Java Basics - Anfänger-Themen 3
M n-dim Vektoren mit Arrays Java Basics - Anfänger-Themen 3
C Inhalte zweier Vektoren vergleichen Java Basics - Anfänger-Themen 3
J Wie erstelle ich Vektoren? Java Basics - Anfänger-Themen 5
N Matrix/Vektoren Java Basics - Anfänger-Themen 3
N Vektoren, Methode Java Basics - Anfänger-Themen 10
S 3D Cube aus Vektoren Java Basics - Anfänger-Themen 20
G Vektoren speichern Java Basics - Anfänger-Themen 3
N Vektoren multiplizieren Java Basics - Anfänger-Themen 8
N Ausgabe von Vektoren Java Basics - Anfänger-Themen 3
L Suche Hilfe , Problem mit Vektoren und klassen Java Basics - Anfänger-Themen 21
R Vektoren Java Basics - Anfänger-Themen 6
V Vektoren zur Laufzeit erzeugen Java Basics - Anfänger-Themen 7
J Durchlaufen von Vektoren Java Basics - Anfänger-Themen 14
F Ein Array von Vektoren, Eclipse meckert Java Basics - Anfänger-Themen 12
M Prinzipielle Frage zu Vektoren Java Basics - Anfänger-Themen 2
H Vektoren aus einem String! Java Basics - Anfänger-Themen 2
F Welche Datenstruktur für Matrix mit Vektoren? Java Basics - Anfänger-Themen 2
W Verwalten von Objekten - Listen, Vektoren usw. Java Basics - Anfänger-Themen 6
M Zwei ineinanderverschachtelte Vektoren - generics möglich? Java Basics - Anfänger-Themen 3
W Addition von Arrays bzw. Vektoren Java Basics - Anfänger-Themen 2
F Vektoren Java Basics - Anfänger-Themen 15
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
J Objektwerte addieren / Konstruktor Java Basics - Anfänger-Themen 19
C Objektwerte werden ungewollt überschrieben Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben