Vector-Warteschlange(in Anfrage Auftgrag aufrufen?)

Status
Nicht offen für weitere Antworten.

Halo_Player

Mitglied
Ich hab vollgendes Problem: Ich bin dabei einen quasi Speicher mit nem Vector zu programmieren.
Das funktioniert soweit, nur gelingt es mir nicht das erste Element des Vectors zu löschen.
In der klasse Wartschlangenverwaltung werden die einzelnen methoden aus Warteschlange aufgerufen.
Warteschlange besitzt den Vector. In Warteschlangenverwaltung, übergebe ich der Gui, in den Anfragen
naechsterBesitzer() und naechstesTier() einen String, der aus dem Vector in Warteschlange geladen, mit hilfe von zwei Anfragen.Nach der übergabe der Parameter müsste ich das erste Objekt, das ich bereits abgefragt habe, löschen damit ich auf das nächste element des Vectors zugreifen kann, und genau das gelingt mir nicht.
Ich hoffe ihr könnt mir helfen!!
Beim Quelltext hab ich mich auf die Klassen Warteschlangenverwaltung und Warteschlange beschränkt, es gibt aber auch eine Klasse Tierarztpraxis(Gui) und eine Klasse Patient(Element das in den vector geladen wird).

Mfg HAlo_Player


Edit(22.10.05-13:35): Ich hab doch die Klassen Patient und Tierarztpraxis hinzugefügt, vllt wird mein Problem dann
klarer.


Code:
import java.util.*;
import java.awt.event.*;
import java.applet.*;
import java.awt.*;

public class Tierarztpraxis extends Applet implements ActionListener
{  
    TextField besitzerName, tierName;    
    Label naechsterBesitzer, naechstesTier, anzahl;
    Button speichern,weiter;
	Font font1,font2;
	Warteschlangenverwaltung subClass;
	
	public void init()
	{
	setBackground(Color.black);
	setForeground(Color.red);
	
	besitzerName=new TextField(); 
	tierName=new TextField();
	
	naechsterBesitzer=new Label("-");
	naechstesTier=new Label("-");
	anzahl=new Label("0");
	
	speichern=new Button("  speichern  ");
	weiter=new Button("  weiter  ");
	
	this.add(weiter);
	this.add(speichern);
	this.add(besitzerName);
	this.add(tierName);
	this.add(naechsterBesitzer);
	this.add(naechstesTier);
	this.add(anzahl);
	
	speichern.addActionListener(this);
	weiter.addActionListener(this);
	
	subClass= new Warteschlangenverwaltung();
	}
	
	public void paint(Graphics g)
	{
	 font1=new Font("SansSerif",Font.BOLD,25);
	 font2=new Font("SansSerif",Font.ITALIC,15);
	 
	 g.setFont(font1);
	 g.drawString("Tierartzpraxis",this.getWidth()*1/4,25);
	 
	 g.setFont(font2);
	 g.drawString("Besitzername:",this.getWidth()*1/4-100,113);
	 g.drawString("Tiername:",this.getWidth()*1/4-100,138);
	 besitzerName.setBounds(this.getHeight()*1/4,100,100,20);
	 tierName.setBounds(this.getHeight()*1/4,125,100,20);
	 speichern.setBounds(this.getHeight()*1/4,165,70,20);
	
	 g.drawString("nächster Besitzer:",this.getWidth()*2/4,113);
	 g.drawString("nächstes Tier:",this.getWidth()*2/4,138);
	 g.drawString("Anzahl Patienten:",this.getWidth()*2/4,163);
	 naechsterBesitzer.setBounds(this.getHeight()*3/4,100,100,20);
	 naechstesTier.setBounds(this.getHeight()*3/4,125,100,20);
	 anzahl.setBounds(this.getHeight()*3/4,150,100,20);
	 weiter.setBounds(this.getHeight()*3/4-50,190,70,20);
	 }
	 
	public void actionPerformed(ActionEvent evt)
	{
	  if(evt.getSource()==speichern)
	  {      
	    subClass.neuerPatient(besitzerName.getText(),tierName.getText());
	    besitzerName.setText("");
	    tierName.setText("");      
	     };
	   	    
	  if(evt.getSource()==weiter)
	  {	
	    naechsterBesitzer.setText(subClass.naechsterBesitzer());
	    naechstesTier.setText(subClass.naechstesTier());
	    anzahl.setText(subClass.wartende());	   
	     };
	}
}

Code:
public class Warteschlangenverwaltung
{	
    Warteschlange schlange;
	Patient patient;
	
	public Warteschlangenverwaltung()
	{
		schlange=new Warteschlange();
	}

	public void neuerPatient(String pName, String pTier)
	{
	patient=new Patient(pName,pTier);
	schlange.anhaengen(patient);    
    }

	public String naechstesTier()
	{
	return ((Patient)schlange.erstesObjekt()).tier();
    }
	
	public String naechsterBesitzer()
	{		
	   return ((Patient)schlange.erstesObjekt()).name();
	   // Hier müsste meiner Meinung nach mit schlange.loeschen(); der Kopf
	   //des Vectors gelöscht werden,geht aber nicht, der Copiler sagt : Unreachable Statement
	}
	
	public String wartende()
	{
	   return Integer.toString(schlange.anzahl());
    }
}



Code:
import java.util.*;
public class Warteschlange
{
	Vector schlange;
	
	public Warteschlange()
	{
		schlange=new Vector();
	}

	public void anhaengen(Object pObjekt)
	{
	   schlange.addElement(pObjekt);
      }
   
  public void loeschen()
   {
	   schlange.removeElementAt(0);
    }
	   
  public Object erstesObjekt()
	{
	   return schlange.elementAt(0);
	 }
	 
  public int anzahl()
	{   
       return schlange.size();
     }
}

Code:
 public class Patient
{
	String zName,zTier;
	
	public Patient(String pName, String pTier)
	{
	 zName=pName;
	 zTier=pTier;
	}
	
	public String name()
	{		
	  return zName;
	}
	
	public String tier()
	{		
	  return zTier;
	}
}
 
B

bygones

Gast
Code:
      return ((Patient)schlange.erstesObjekt()).name();
      // Hier müsste meiner Meinung nach mit schlange.loeschen(); der Kopf
      //des Vectors gelöscht werden,geht aber nicht, der Copiler sagt : Unreachable Statement
das return beendet sofort die Methode und gibt den Wert zurück, d.h. aller Code der nach einem return steht kann NIE erreicht werden, ergo die Fehlermeldung.
D.h. du musst erst dir das Objekt speichern, dann löschen und dann per return zurückgeben.

BTW: musst du einen Vector nehmen ? Mit der Datenstruktur Queue hättest du die Probleme nämlich nicht !

lol - seh ich richtig, dass SUN keine Queue impl hat ? oder blind um die uhrzeit?
 

Bleiglanz

Gesperrter Benutzer
doch doch, ist aber in der LinkedList versteckt...

java.util.LinkedList<E> implementiert Queue<E>

und dann gibts auch noch die

java.util.PriorityQueue<E>

concurrent Package hat:

ArrayBlockingQueue, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingQueue, PriorityBlockingQueue, SynchronousQueue
 

Halo_Player

Mitglied
Ne ich muss leider nen Vector benutzen, das ist ne Schuhlaufgabe...
Wo kann ich denn die Löschmethode aufrufen, so dass das Kopfelement des Vectors vor dem Löschen übergeben wird?
 
B

Beni

Gast
So löschst du das erste Element, und rufst es gleichzeitig ab:
Code:
X x = vector.remove( 0 );
 

Halo_Player

Mitglied
Beni hat gesagt.:
So löschst du das erste Element, und rufst es gleichzeitig ab:
Code:
X x = vector.remove( 0 );

Was ist den Klasse X in dem Fall? Ich versteh das nicht so ganz, sorry.
x wird das aktuelle erste elemtent übergeben und das dann gelöscht oder wie?
 
B

Beni

Gast
Was das genau macht, kannst du hier nachlesen.

Deine Vermutung ist richtig.
x wird das aktuelle erste elemtent übergeben und das dann gelöscht oder wie?

X ist, was immer in dem Vector an der ersten Stelle ist. Bei dir wärens wohl Patienten.
(Und ja, ich hätte "X x = (X)vector.remvo( 0 );" schreiben müssen. den Cast hab ich vergessen)
 

Halo_Player

Mitglied
Tut mir leid, das ich mich so dumm anstelle :( , aber mir gelingt es nicht
Code:
X x = (X)vector.remove( 0 );"
in den code zu implementieren. Ich weiss nicht so richtig, wo genau, und wie genau.... ???:L
Ich hab jetzt mal den ganzen Code gepostet, vllt hilft euch das ja weiter.
 

L-ectron-X

Gesperrter Benutzer
Eine Fehlermeldung hilft ganz bestimmt weiter.
Hast du den Code so wie im obigen Posting eingebaut? Dann ist das Anführungszeichen am Zeilenende zuviel.
 
B

bygones

Gast
das X ist doch bloß Platzhalter
in deinem Fall ist doch die Klasse im Vector Patient oder?

Code:
Patient p = (Patient)vector.remove(0);
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Erste Schritte Alle möglichen ausgaben von 5 Zahlen als Vector Java Basics - Anfänger-Themen 7
C Werte im Vector in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 14
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
J Reihenfolge im Vector lässt sich nicht drehen Java Basics - Anfänger-Themen 9
M Klassen Gesamt speicherbare Elemente in Vector? Java Basics - Anfänger-Themen 3
P Vector durchsuchen und Elemente löschen Java Basics - Anfänger-Themen 4
Z Vector in jTextField/jLabel darstellen Java Basics - Anfänger-Themen 4
P Objekte in Vector werden überschrieben Java Basics - Anfänger-Themen 4
P Array in Vector speichern Java Basics - Anfänger-Themen 2
E Methoden new Vector().add(x).add(x); ? Java Basics - Anfänger-Themen 5
F Vector istGeordnet Java Basics - Anfänger-Themen 15
R Vector-Filterfunktion Java Basics - Anfänger-Themen 4
Todesbote Map (Key=String; Value = Vector) Value/Vector sortieren Java Basics - Anfänger-Themen 13
J Vector Manipulieren.. Wie? Java Basics - Anfänger-Themen 16
M Vector eines Vectors einzeln ausgeben Java Basics - Anfänger-Themen 9
K String kommt schon in Vector vor? Java Basics - Anfänger-Themen 36
J Erzeugung eines Vector-Objekts - Frage zum Typ Java Basics - Anfänger-Themen 3
H Zugriff auf Vector Element Java Basics - Anfänger-Themen 2
C Vector erzeugt neue Indizes nach Input Java Basics - Anfänger-Themen 2
A Author in Vector Java Basics - Anfänger-Themen 22
M Vector überschreibt Elemente bei add()-Methode Java Basics - Anfänger-Themen 10
T Elemente im Vector werden einfach überschrieben! Java Basics - Anfänger-Themen 3
K Collections Vector zu String casten Java Basics - Anfänger-Themen 4
U Wozu dient ein Vector in Java? Java Basics - Anfänger-Themen 6
S Vector mit beliebigen Klassen an Funktion übergeben Java Basics - Anfänger-Themen 20
B Globale vector? Java Basics - Anfänger-Themen 7
E 2 Dimensionaler Vector Java Basics - Anfänger-Themen 5
T Map<String, Vector>? Java Basics - Anfänger-Themen 11
P Collections Vector füllen in for-Schleife Java Basics - Anfänger-Themen 3
J Vector Addition Java Basics - Anfänger-Themen 5
M 2D Vector Java Basics - Anfänger-Themen 2
N IndexOutOfBoundsException: Source does not fit in dest beim Kopieren von ArrayList in Vector Java Basics - Anfänger-Themen 4
M Umwandlung von Array in Vector und umgekehrt Java Basics - Anfänger-Themen 6
E Datentypen Klasse Vector aus der Standard-API anwenden Java Basics - Anfänger-Themen 7
D Klasse Vector entwerfen Java Basics - Anfänger-Themen 7
A Arrays vs Liste vs Vector Java Basics - Anfänger-Themen 30
H in for Schleife über Vector iterieren Java Basics - Anfänger-Themen 2
S Datentypen Vector auslesen Java Basics - Anfänger-Themen 12
yampi Objektsammlung - Hashtable, Vector, Arrays Java Basics - Anfänger-Themen 8
T Vector-Positin anzeigen Java Basics - Anfänger-Themen 3
C Vector - obsolete collection Java Basics - Anfänger-Themen 1
C Vector<Object> Probleme Java Basics - Anfänger-Themen 38
C Datentypen Probleme mit Vector.contains() Java Basics - Anfänger-Themen 10
M Datentypen function(Vector<SuperClass>), Vector<Subclass> Java Basics - Anfänger-Themen 6
L Vector Sortieren Java Basics - Anfänger-Themen 8
B Vector in Table ersetzen Java Basics - Anfänger-Themen 4
B Werte einer Spalte aus DB in einen Vector schreiben Java Basics - Anfänger-Themen 15
kitz Telefonbuch (Vector) Java Basics - Anfänger-Themen 17
E Arraylist mit Daten aus Vector füllen Java Basics - Anfänger-Themen 7
S Vector -> String JComboBox Java Basics - Anfänger-Themen 11
F Vector wird überschrieben Java Basics - Anfänger-Themen 8
T Vector sortiern Java Basics - Anfänger-Themen 7
C Frage zu Vector und muliplizieren des Inhaltes Java Basics - Anfänger-Themen 2
S Vector von eigenen Klassen Java Basics - Anfänger-Themen 2
J Collection Vector Java Basics - Anfänger-Themen 8
Streeber ArrayList/Vector, mehrdimensional Java Basics - Anfänger-Themen 11
N Was ist der Unterschied zwischen ArrayList und Vector? Java Basics - Anfänger-Themen 3
babel Einen Vector/Liste mit Daten prüfen Java Basics - Anfänger-Themen 31
B Hilfe zum einem Problem mit Vector Java Basics - Anfänger-Themen 8
H Vector - Fehler? Java Basics - Anfänger-Themen 2
babel einen Vector nach Datum sortieren Java Basics - Anfänger-Themen 21
T Array-Vector Problem Java Basics - Anfänger-Themen 18
P Vector und Exception Java Basics - Anfänger-Themen 7
K Vector Java Basics - Anfänger-Themen 3
K Vector Java Basics - Anfänger-Themen 10
babel ein Vector mit verschiedenen Werten auslesen und berechnen Java Basics - Anfänger-Themen 34
T Object aus Vector übergeben Java Basics - Anfänger-Themen 2
B Vector<Point> als Rückgabewert Java Basics - Anfänger-Themen 23
L Vector einem Array hinzufügen Java Basics - Anfänger-Themen 14
P Vector mit double Java Basics - Anfänger-Themen 3
P Vector Elemente auslesen Java Basics - Anfänger-Themen 9
N Anfängerfrage richtige Syntax und Frage zu Vector Java Basics - Anfänger-Themen 7
C Unterschied zwischen ArrayList und Vector Java Basics - Anfänger-Themen 2
W Vector mit String[] auslesen Java Basics - Anfänger-Themen 4
Povlsen84 Initlialisierung, Vector, serialVersionUID . kleine Fragen Java Basics - Anfänger-Themen 4
Q Vector verändert trotz final seine Größe Java Basics - Anfänger-Themen 5
B Dopplete aus Vector entfernen Java Basics - Anfänger-Themen 8
E Vector Fehler bei allen Methoden von Vector Java Basics - Anfänger-Themen 2
K Vector zu Array machen Java Basics - Anfänger-Themen 10
1 JList Problem : Synchronisation mit Vector klappt nicht :( Java Basics - Anfänger-Themen 6
L Multidimensional Vector - Recordset Java Basics - Anfänger-Themen 5
K Objektklasse mit leerem Vector füllen Java Basics - Anfänger-Themen 6
K Vector wird überschrieben Java Basics - Anfänger-Themen 7
G Vector Strijng parsen Java Basics - Anfänger-Themen 6
K vector cannot be resolved Java Basics - Anfänger-Themen 3
G Zeichenkette suchen in Vector-Klasse Java Basics - Anfänger-Themen 11
R fehler beim incrementellen schreiben in einen vector Java Basics - Anfänger-Themen 11
M ObjectInputStream, Object und Vector<Object> Java Basics - Anfänger-Themen 4
G Vector, equal & Casts Java Basics - Anfänger-Themen 5
N Objekte in einen Vector packen oder nicht? Java Basics - Anfänger-Themen 3
D Frage zu Vector Java Basics - Anfänger-Themen 7
S Problem mit Vector Java Basics - Anfänger-Themen 2
G Object[] [] nach vector casten. Java Basics - Anfänger-Themen 3
G 2D vector zugriff auf elementinterne elemente wie Java Basics - Anfänger-Themen 3
G vector in neuem vector sortieren Java Basics - Anfänger-Themen 3
G jede 2te zeile in vector leer einfügen, wie? Java Basics - Anfänger-Themen 4
G vector füllt sich immer weiter. wo muss ich ihn leeren? Java Basics - Anfänger-Themen 3
V Vector/Arraylist hat nur gleiche Einträge Java Basics - Anfänger-Themen 3
G Vector eigenen Typs mit Daten füllen Java Basics - Anfänger-Themen 20

Ähnliche Java Themen

Neue Themen


Oben