Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Java » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Java
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Baby
unregistriert
Java Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hallo ich habe gerade bei einer Java Aufgabe probleme :

In dieser Aufgabe geht es darum, eine Klasse zum Speichern von tabellarischen Daten zu erstellen. Diese
Daten liegen in der Form von Dezimalzahlen (double) vor. Die Zeilen der Tabelle sollen mit ganzzahligen
Indizes, die Spalten mit Spaltennamen referenziert werden.
a) Erstellen Sie eine abstrakte Klasse Tabelle mit den abstrakten Methoden public abstract
double gibWert(int zeile, String spalte) und public abstract void setzeWert(int
zeile, String spalte, double wert).
b) Ergänzen Sie einen Konstruktor, der ein Array mit den Spaltennamen und die Anzahl der Zeilen
übergeben bekommt und beides in geeignete Datenfelder speichert.
c) Schreiben Sie eine Methode public void spalteAusgeben(String spalte) und eine Methode
public void zeileAusgeben(int zeile), die die Werte der angegebenen Spalte bzw. Zeile ausgibt (durch Kommas getrennt). Nutzen Sie die Methode gibWert!
d) Erstellen Sie nun eine Unterklasse MapTabelle, die die Werte einer Tabelle in einer HashMap
speichert. Konkret wird immer ein ganzzahliger Index (Integer) einer Tabellenzeile zugeordnet.
Diese Tabellenzeile wiederum ist auch eine HashMap, die dem Spaltennamen (String) einen Wert
(Double) zuordnet.
Hinweis: Eine HashMap, die eine Zuordnung X 7! Y darstellt, wird in Java als HashMap
geschrieben.
Der Konstruktor (mit denselben Parametern wie in der Oberklasse) soll, nachdem der SuperKonstruktor aufgerufen wurde, die HashMap als leere Map initialisieren.
e) Überschreiben Sie nun die Methode public double gibWert(int zeile, String spalte). Diese soll den Wert der entsprechenden Tabellenzeile und -spalte zurückgeben, sofern dieser existiert
(es also eine Zuordnung für die Zeilennummer und eine Zuordnung für die Spalte innerhalb der
Tabellenzeile gibt). Ansonsten soll 0 zurückgeliefert werden.
f) Überschreiben Sie außerdem die Methode public void setzeWert(int zeile, String spalte,
double wert), die einen neuen Wert in der Tabelle speichert.
Wenn die angegebene Tabellenzeile noch nicht existiert, müssen Sie sie erst erzeugen (als leere
HashMap) und der Tabelle hinzufügen.
Anschließend fügen Sie der angegebenen Zeile den Wert hinzu.
g) Bonusaufgabe: setzeWert soll nur dann den Wert setzen, wenn der Spaltenname in dem Array der
erlaubten Spaltennamen enthalten und die Zeilennummer kleiner als die festgelegte Zeilenanzahl
ist.

Mein code:
public abstract class Tabelle
{

String[] d;

int f;
public abstract double gibWert(int zeile, String spalte);

public abstract void setzeWert(int zeile, String spalte, double wert);

public Tabelle( String[] z, int n ) {

d = z;

f = n;



}

public void spalteAusgeben(String spalte) {


for (int i = 0; i < f; i++){

System.out.print(gibWert(i , spalte)+", ");


}

}



public void zeileAusgeben(int zeile){

for( int i = 0; i < d.length; i++ ){

System.out.print(gibWert( zeile , d[i])+", ");


}


}


Kannst du mir jetzt irgendwie bei der d) helfen wie ich da genau vorgehen muss weiter?
public class MapTabelle extends Tabelle
{
HashMap< Integer , HashMap < String , Double >>werte;
public MapTabelle(String[] z, int n ){

super(z, n );
werte = new HashMap< Integer , HashMap < String , Double >>();






}


}

Meine Ideen:
gepostet
15.05.2013 19:37
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Java