cannot resolve symb

  • Themenstarter Themenstarter aldi
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
A

aldi

Gast
Code:
public interface IBuchladen extends Remote
public Buch[] suchenBuch(String pattern) throws RemoteException;



Was ist der genaue Grund fuer folgende Fehlermeldung:

cannot resolve symbolBuch[]

Die Methode soll als Rueckgabewert ein Array vom Typ Buch zurückliefern.
Die Klasse Buch ist im selben Verzeichniss und ist auch fehlerfrei kompiliert worden.
Hat das eventuell mit der Classpath zu tun???
 
da fehlt ne klammer:
Code:
public interface IBuchladen extends Remote{
public Buch[] suchenBuch(String pattern) throws RemoteException;
 
Code:
public interface IBuchladen extends Remote{ 
public Buch[] suchenBuch(String pattern) throws RemoteException;




Ich wollte nur den Aufbau zeigen.
Die Klammern sind da und es gibt keine Syntafxehler.

Trotzdem krieg ich beim kompilieren diese Fehlermeldung.
 
Ja gibt es.
Hier die Klassen im Überblick:

Code:
public class Buch implements Serializable {
    // Buchangaben mit Autor und Titel
    private String autor;
    private String titel;

    /*------------------------------------------------------------------------*/
    /** Erzeugt neues Buch
     * @param autor Autor/Autoren des Buches
     * @param titel Titel des Buches
     */
    public Buch(String autor, String titel) {
	this.autor = autor;
	this.titel = titel;
    }
    
    /*------------------------------------------------------------------------*/
    /** Liefert Autor des Buches */
    public String getAutor() {
	return autor;
    }
    /*------------------------------------------------------------------------*/
    /** Gibt Buch als String zurück */
    public String toString() {
	return autor + " : " + titel;
    }
}

import java.net.*;
import java.io.*;
import java.rmi.*;
import java.rmi.server.*;  // wg. UnicastRemoteObject

public class Buchladen extends UnicastRemoteObject implements IBuchladen {

    // maximale Anzahl der Bücher in der Buchhandlung
    private final int maxAnzahlBuecher = 10;
    // aktuelle Anzahl Bücher in Buchhandlung
    private int anzahlBuecher;
    // vorhandene Bücher (Feld, um es auch in C++ einfach machen zu können)
    private Buch[] buchBestand;

    /*------------------------------------------------------------------------*/
    /** Konstruktor */

    public Buchladen() throws RemoteException {
	buchBestand = new Buch[maxAnzahlBuecher];
	buchBestand[0] = new Buch("Willi Winzig", "Programmierung");
	buchBestand[1] = new Buch("Hilde Hurtig", "Systemanalyse");
	anzahlBuecher = 2;
	System.out.println("[Buchladen] Buchladen erzeugt");
    }

    /*------------------------------------------------------------------------*/
    /** Bücher suchen in Buchladen
     * @param pattern Suchmuster
     * @return Feld von Büchern
     */

    public Buch[] suchenBuch(String pattern) throws RemoteException {
	/* wir machen dies hier sehr einfach: das erste Buch, bei dem
	   der Autor übereinstimmt und nur dieses wird zurückgegeben
	*/
	Buch[] buecher = new Buch[1];
	for(int i=0; i < anzahlBuecher; i++)
	    if(buchBestand[i].getAutor().equals(pattern))
		{
		    buecher[0] = buchBestand[i];
		    System.out.println("[Buchladen] Buch gefunden: " + buecher[0]);
		    return buecher;
		}

	// leeres Feld zurückgeben
	System.out.println("[Buchladen] Buch nicht gefunden");
	return new Buch[0];
    }

    /*------------------------------------------------------------------------*/
    /** Buch in Buchladen bestellen
     * @param buch zu bestellendes Buch
     */

    public void bestellenBuch(Buch[] buecher) throws RemoteException {
	System.out.println("[Buchladen] Folgende Bücher wurden bestellt:");
	for(int i=0; i < buecher.length; i++)
	    System.out.println(buecher[i]);
    }

    /*------------------------------------------------------------------------*/
    /** Hauptprogramm */

    public static void main(String[] args) {

	try{
	    // Buchladen erzeugen
	    Buchladen buchladen = new Buchladen();
   
	    // Buchladen bekannt machen
	    Naming.rebind("Buchladen", buchladen);

	} catch (Exception e){ System.out.println("Fehler auf Server:" + e); }
    }
public interface IBuchladen extends Remote {
    /** Bücher suchen
     * @param pattern Suchmuster
     * @return Feld von Büchern
     */
    public Buch[] suchenBuch(String pattern) throws RemoteException;

    /** Bücher bestellen
     * @param buecher zu bestellende Bücher
     */
    public void bestellenBuch(Buch[] buecher)throws RemoteException;
}

Wenn ich jetzt Buchladen kompilieren will gibt er folgende Fehlermeldung mehrmals auf:

cannot resolve symbolBuch[]

Die Klasse Buch kann ohne Probleme kompiliert werden.

????????????????????????????????????????????????????????????????????????????????????????????????????????????????
 
Hab das Problem zur Info fuer die anderen ganz einfach geloest.

Nachdem ich die Klassen aus dem Eclipse Workspace ordner in ein neuen Ordner kopiert habe
hatte ich keine Probleme mehr die java Dateien zu kompilieren und die Fehlermeldung ist nicht mehr aufgetreten.
Hatte wohl etwas mit eclipse zu tun. :roll:

GRUSS aLDI
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben