Problem bei Vererbung

Status
Nicht offen für weitere Antworten.

Wusaa

Aktives Mitglied
Hallo,
habe nen fehler in meinem programm, der besagt "cannot converty from string to string [] " ?
wie bekomm ich das wieder richtig hin?

Code:
package uniAdministration;

public class Employee extends Person implements EmployeeIF {

//Attribute
	private String responsibilities = "abc";
	private int roomNumber = 001;
	
//Konstruktor
	public Employee (String name,String responsibilities, int room, int year) {
		super (year, name);
		this.responsibilities = responsibilities;	
	}
	
	public String[] getResponsibilities(){
		return responsibilities;
	}

	public void setResponsibilities(String[] responsibilities){
		this.responsibilities = responsibilities;
	}

	public int getRoomNumber(){
		return roomNumber;
	}

	public void setRoomNumber(int roomNumber){
		this.roomNumber = roomNumber;
	}

	public void print(String text){
		super.print(text);                       
	       System.out.println(" this.responsibilities are: " + this.responsibilities);
	       System.out.println("this.rommNumber is: " + this.roomNumber);
	}
}
 

Revenant

Aktives Mitglied
Problem:

Die Methode getResponsibilities() hat bei dir den Rückgabewert String[] (also ein Array vom Typ string), gibt jedoch nur einen String (String responsibilities) (und kein Array von diesem) zurück.

Ausserdem versucht die Methode setResponsibilities eine Array in einen String zu speichern. Als Parameter übergibst du ihr ja ein Array welches du in einen String speichern willst.


Lösung:

Problem ist also, dass die Datentypen sag ich jetzt mal nicht stimmen. Wenn du das ganze Array in einen String speichern willst, dann könntest du zB die einzelnen Felder der Arrays zusammenhängen und somit den String erstellen.


Anmerkung:


Im Konstruktor wird der Wert room übergeben, mit dem aber gar nichts gemacht wird
 

Wusaa

Aktives Mitglied
Ich versteh nicht ganz wie du das meinst. Aber ich habe verstanden wo der Fehler ist, bin mir aber nicht sicher was ich jetzt genau verändern muss?
 
S

SlaterB

Gast
du musst direrstmal überlegen was responsibilies sein soll,
ein String oder ein String[], das ist ein wichtiger Unterschied,

und dann musst du dein Programm anpassen, alle Stellen entweder auf String[] oder String umstellen
(je nachdem was responsibilies sein soll)
 

Revenant

Aktives Mitglied
Die Frage ist zunächst einmal was du eigentlich machen willst.

Ich denke das einfachste wäre:


- den Typ der Rückgabewerte/Parameter auf String zu ändern.

Somit kannst du dann in responsibilities halt nur einen String abspeichern und nicht mehrere Strings wie du es bei einem Array könntest:

Code:
public String getResponsibilities(){
      return responsibilities;
}

public void setResponsibilities(String responsibilities){
      this.responsibilities = responsibilities;
}


du kannst jedoch auch:

- den String responsibilities durch ein Array aufbauen:

Code:
public void setResponsibilities(String[] responsibilities){
    for ( int i = 0; i < responsibilities.length; i++ )
    {
        this.responsibilities += responsibilities[i];
    }  
    
}
somit würde man für responsibilities[0]= "bla"; und für responsibilities[1]= "blu"; den String responsibilities = "blablu" erhalten...


oder du könntest:

- nur mit Arrays arbeiten und somit mehrere 'String-Werte' in responsibilities verwalten:

Code:
package uniAdministration;

public class Employee extends Person implements EmployeeIF {

//Attribute
   private String[] responsibilities = new String[10];
   private int roomNumber = 001;
   
//Konstruktor
   public Employee (String name,String[] responsibilities, int room, int year) {
      super (year, name);
      this.responsibilities = responsibilities;   
   }
   
   public String[] getResponsibilities(){
      return this.responsibilities;
   }

   public void setResponsibilities(String[] responsibilities){
      this.responsibilities = responsibilities;
   }

   public int getRoomNumber(){
      return roomNumber;
   }

   public void setRoomNumber(int roomNumber){
      this.roomNumber = roomNumber;
   }

   public void print(String text){
      super.print(text);                       
          System.out.println(" this.responsibilities[] are: " );
          for ( int i = 0; i < this.responsibilities.length; i ++ )
          {
                  System.out.print(this.responsibilities[i]+",");
          }
          System.out.println("this.rommNumber is: " + this.roomNumber);
   }
}
 

Wusaa

Aktives Mitglied
Ok das Problem hätte ich nun gelöst. Dankeschön.

Aber jetzt fiel mir ein weiters auf :? und zwar hier

Code:
package uniAdministration;

public class Employee extends Person implements EmployeeIF {

//Attribute
	private String [] responsibilities = "abc";
	private int roomNumber = 001;

responsibilities wird hier rot unterstrichen und zwar wieder mit der Fehlermeldung "cannot convert String to String[].
Aber wenn ich "[]" nach private String wegmache werden die unteren deklarationen alle falschanzeigt, aber wenn ich es stehen lasse wird "responsibilities falsch angezeigt.

und in der Zeile "public class Employee extends Person implements EmployeeIF {" wird "Employee" ebenfalls rot unterstrichen wegen der Fehlermeldung "The type employee must implement the inherited abstract method MemberOfUniversity.setModules(ModulesIF [] ):

???
 

Revenant

Aktives Mitglied
Ojeeee ich glaub da gibts echt einige Lücken bei dir. Das Problem mit dem String hab ich in meinem Post drüber eigentlich schon erklärt durch:

Code:
private String[] responsibilities = new String[10];

legt man ein Array vom Typ String mit 10 Elementen an. Ansonsten würdest du ja ein Array anlegen und ihm einen String zuweisen (aber in welches Feld des Arrays???)

Und das mit dem "must implement the inherited (!)..." liegt daran, dass du deine Klasse von der Klasse MemberOfUniversity blabla ableitest und deswegen muss deine Klasse auch die Methode setModules(ModulesIF[]) oder sowas implementieren.

Solltest vielleicht am Besten ganz unten anfangen und dir nen Buch über Java kaufen
 
S

SlaterB

Gast
setModules() solltest du besser nicht noch mal definieren sondern wie früher vorgeschlagen nicht von Person erben, sondern von der Klasse UniversityMember oder so, wo setModules() schon definiert ist
 

Wusaa

Aktives Mitglied
Also

anstatt
Code:
package uniAdministration;

public class Employee extends Person implements EmployeeIF {


eher so
Code:
package uniAdministration;

public class Employee extends MemberOfUniversity implements EmployeeIF {
 
S

SlaterB

Gast
jo,
im Konstruktor muss dann natürlich der super-Konstruktor von MemberOfUniversity mit einem passenend modules-Array versorgt werden, das wiederum ein Parameter des Konstruktors von Employee sein könnte
 

Wusaa

Aktives Mitglied
Habs jetzt mal so gemacht, is aber immer noch net ganz richtig.

Code:
package uniAdministration;

public class Employee extends MemberOfUniversity implements EmployeeIF {

//Attribute
   private String[] responsibilities = new String[10];
   private int roomNumber = 001;
   
//Konstruktor
   public Employee (String name,String[] responsibilities,int room,int year,ModuleIF[]modules){
      super (year, name, modules);
      this.responsibilities = responsibilities;
 
S

SlaterB

Gast
soso, das ist ja interessant







(übrigens: wenn du jemanden etwas fragst, musst du sagen WAS nicht geht, insbesondere Fehlermeldung + Zeile)








(da ich so wahnsinnig schlau bin kann ich dir schon sagen dass du mal die Reihenfolge der Parameter in super() mit der Reihenfolge der Parameter im Konstruktor von MemberOfUniversity vergleichen solltest)
 

Wusaa

Aktives Mitglied
Also habe es soweit überall hinbekommen außer bei der klasse "Professor"
Habe jetzt schon mehrfach versucht die attribute des konstruktor umzustellen und dem super anzupassen aber hat nicht funktioniert.

Code:
//Konstruktor
	public Professor (String name, int room,ModuleIF[]modules, String[]office, int year, String[] responsibilities){
		
		super(name, room, modules, year, responsibilities);
		this.office = office;
	}

Fehlermeldung: Der Konstruktor ist undefiniert.
 

Wusaa

Aktives Mitglied
Hallo,
muss zu folgenden Klassen "Professor" "Student" "Employee" Testmain's erstelllen.
Bin aber beim festlegen von den "static...." in den jeweiligen Testmain ein wenig überfordert.

Code:
package uniAdministration;

public class Professor extends Employee implements ProfessorIF {

// Attribute
private String[] office = new String[2];

//Konstruktor
public Professor (String name, int year, String[]office, String[] responsibilities, int room, ModuleIF[]modules){

super(name, responsibilities, room, year, modules);
this.office = office;
}

public String[] getOffice() {
return office;
}

public void setOffice(String[] office){
this.office = office;
}

public void print(String text){
super.print(text);
System.out.println(" this.office is: " + this.office);
for (int i = 0; i < this.office.length; i++ )
{
System.out.print(this.office[i]+",");
}
}
Code:
package uniAdministration;

public class Student extends MemberOfUniversity implements StudentIF{

//Attribute
private boolean stipendium = false;

//Konstruktor
public Student (String name, int year, boolean stipendium, ModuleIF[]modules ) {

super (name, year,modules);
this.stipendium = stipendium;

}

public boolean isStipendium(){
return stipendium;

}

public void setStipendium(boolean stipendium){
this.stipendium = stipendium;

}

public void print(String text){
super.print(text);
System.out.println(" this.stipendium is: " + this.stipendium);
}

}



}

Code:
package uniAdministration;

public class Employee extends MemberOfUniversity implements EmployeeIF {

//Attribute
private String[] responsibilities = new String[2];
private int roomNumber = 0;

//Konstruktor
public Employee (String name,String[] responsibilities, int room, int year, ModuleIF[]modules){

super (name, year, modules);
this.responsibilities = responsibilities;
}

public String[] getResponsibilities(){
return this.responsibilities;
}

public void setResponsibilities(String[] responsibilities){
this.responsibilities = responsibilities;
}

public int getRoomNumber(){
return roomNumber;
}

public void setRoomNumber(int roomNumber){
this.roomNumber = roomNumber;
}

public void print(String text){
super.print(text);
System.out.println(" this.responsibilities[] are: " );
for (int i = 0; i < this.responsibilities.length; i++ )
{
System.out.print(this.responsibilities[i]+",");
}
System.out.println("this.roomNumber is: " + this.roomNumber);
}
}

Hier die Testmain "Professor" bei der ich schon ein wenig angefangen habe, mir würde es schon reichen wenn mir hierzu jemand helfen könnte denn die anderen laufe i.d.R. analog zu Professor ab.
....bei Zeile 14 und 15 komme ich nicht ganz mit was ich da genau machen muss. aber soweit ich das mitbekommen hab muss ich diese gleich machen wie die ...module etwas weiter oben.

Code:
package uniAdministration;

public class TestmainProfessor {

static ProfessorIF professor = null;
static int year = 1986;
static ModuleIF module0 = new Module ( 11100 , "OOP");
static ModuleIF module1 = new Module ( 11200 , "ABWL");
static ModuleIF module2 = new Module ( 11300 , "RO");
static ModuleIF[] modulesAsterix1 = {module0, module1};
static ModuleIF[] modulesAsterix2 = {module0, module2};
static MemberOfUniversityIF memberAsterix = null;
static int room = 007;
static ProfessorIF office = new Office ("Mitarbeiter");
static EmployeeIF responsibilities = ;




public static void main(String[] args) {

setUp();
testProfessor();

}

static public void setUp() {

professor = new Professor ();



}
static public void testProfessor() {

}
}

[Edit by Beni: Codetags repariert]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
J Konstruktor Problem bei Vererbung Java Basics - Anfänger-Themen 1
S Problem bei Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 3
J Vererbung Kleines Problem bei Vererbung! Java Basics - Anfänger-Themen 2
M Vererbung Problem Vererbung/Exceptions Java Basics - Anfänger-Themen 9
V Vererbung Folgendes Problem zur Vererbung ... Java Basics - Anfänger-Themen 3
R Vererbung - Unresolved compilation problem Java Basics - Anfänger-Themen 4
L Problem mit Vererbung (extends) cannot find symbol Java Basics - Anfänger-Themen 3
A Problem mit Vererbung Java Basics - Anfänger-Themen 5
M Problem mit Erweitertem Klassenkonzept (Vererbung) Java Basics - Anfänger-Themen 22
P Problem mit: Vererbung , ADT und einer Funktion Java Basics - Anfänger-Themen 10
D Problem mit Objekten Vererbung deklarieren initialisieren usw Java Basics - Anfänger-Themen 12
M Problem mit package und Vererbung Java Basics - Anfänger-Themen 6
C Problem mit Vererbung Java Basics - Anfänger-Themen 10
X Problem bei Vererbung Java Basics - Anfänger-Themen 12
V Problem mit Aggregation und Vererbung Java Basics - Anfänger-Themen 4
S Problem mit Vererbung Java Basics - Anfänger-Themen 4
L Problem mit Vererbung! Java Basics - Anfänger-Themen 4
frau-u Problem mit Klassen und Vererbung - benutzen von Methoden Java Basics - Anfänger-Themen 2
R Best Practice Problem mit (einfacher) Doppelt-Schleife Java Basics - Anfänger-Themen 53
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Schleife Problem Java Basics - Anfänger-Themen 2
D Problem mit der Erkennung von \n Java Basics - Anfänger-Themen 2
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Verständins Problem bei Aufgabe Java Basics - Anfänger-Themen 4
HeiTim Problem mit der Kommasetzung an der richtigen stelle Java Basics - Anfänger-Themen 59
Temsky34 Problem mit dem Code Java Basics - Anfänger-Themen 17
P Problem mit Calendar.getDisplayName() Java Basics - Anfänger-Themen 8
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
M Problem mit Klassenverständnis und Button Java Basics - Anfänger-Themen 8
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
H Problem mit Verzweigungen Java Basics - Anfänger-Themen 6
H Problem mit Rückgabewert Java Basics - Anfänger-Themen 7
josfe1234 JAVA FX problem Java Basics - Anfänger-Themen 3
A Code Problem Java Basics - Anfänger-Themen 6
Henri Problem von Typen Java Basics - Anfänger-Themen 7
J Problem mit "ArrayIndexOutOfBoundsException" Java Basics - Anfänger-Themen 11
K jackson Mapping - Problem mit Zeitzonen Java Basics - Anfänger-Themen 10
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
D Schleifen Problem Java Basics - Anfänger-Themen 2
H So viele Fehlermeldungen, dass ich nicht weiß wo das Problem ist. Java Basics - Anfänger-Themen 6
J JAVA-Problem blockiert MEDIATHEKVIEW Java Basics - Anfänger-Themen 13
T Problem mit Lehrzeichen und String bei einfacher Chiffre Java Basics - Anfänger-Themen 8
J extends Problem Java Basics - Anfänger-Themen 2
C Polymorphie-Problem Java Basics - Anfänger-Themen 3
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
J Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 5
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
amgadalghabra algorithmisches Problem Java Basics - Anfänger-Themen 19
J Traveling Salesman Problem [Arrays] Java Basics - Anfänger-Themen 9
R ArrayList Problem Java Basics - Anfänger-Themen 6
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
C RegEx Problem Java Basics - Anfänger-Themen 4
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
E Taschenrechner GUI Problem mit Fehlerhandling Java Basics - Anfänger-Themen 6
M Input/Output Fallunterscheidung Problem Java Basics - Anfänger-Themen 17
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
G Subset sum problem mit Backtracking Java Basics - Anfänger-Themen 18
N Problem mit Scanner Java Basics - Anfänger-Themen 2
J Klassen Problem Java Basics - Anfänger-Themen 8
A Out.format problem. Java Basics - Anfänger-Themen 3
J Problem bei der Programmierung eines Tannenbaums Java Basics - Anfänger-Themen 9
A Array problem Java Basics - Anfänger-Themen 16
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
W Remote Method Invocation RMI - Problem Java Basics - Anfänger-Themen 0
I Ich habe ein Problem Java Basics - Anfänger-Themen 3
A Problem bei returnen eines Wertes Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben