Übungsaufgabe mit static Wert

Need_Help1993

Bekanntes Mitglied
Hey. ich versuche gerade folgenede Aufgabe zu lösen, aber ich finde einfach keinen vernünfitigen static wert, der sinn macht.

Entwerfen Sie eine Beispielklasse, die mindestens zwei nicht-statische Attribute, ein
statisches Attribut und eine beliebige Methode enthält. Die Klasse soll dabei an ein
real existierendes Konzept angelehnt sein. Stellen Sie sicher, dass das statische Attribut tatsächlich ein
Attribut darstellt, das in Ihrem Beispiel nur einmal global für die gesamte Klasse ge-
speichert werden muss. Implementieren Sie die Klasse. Der Methodenrumpf darf leer
sein.

/** @authorMaxMustermann
* @version 1.0
*/
import java.util.*;
public class Haus {

static ArrayList Hausnummer; //Wer hat eine ideee wie ich hier einen sinnvollen static setzen kann?
int grundfläche;
String besitzer;

public String getBesitzer(){
return besitzer;
}
}
 
Zuletzt bearbeitet von einem Moderator:
Nimm statt der Arraylist doch nen einfachen int als counter für die Hausnummer.
Zusätzlich dazu führst du dann noch eine membervariable hausnummer ein. Im Konstruktor weist du dann zunächst die Hausnummer zu und erhöhst den Counter.
 
das ganze muss keinen großen sinn haben. es soll einfach nur ein statischer wert in der aufgabe sein.
wie würde das ganze mit dem counter dan aussehen?

Zusätzlich dazu führst du dann noch eine membervariable hausnummer ein. Im Konstruktor weist du dann zunächst die Hausnummer zu und erhöhst den Counter.

den teil verstehe ich nicht so recht

public class Haus {

static int Hausnummer;
int grundfläche;
String besitzer;

public String getBesitzer(){
return besitzer;
}
}
 
Zuletzt bearbeitet von einem Moderator:
das ganze muss keinen großen sinn haben. es soll einfach nur ein statischer wert in der aufgabe sein.

Die Klasse soll dabei an ein real existierendes Konzept angelehnt sein.

mach dir ne static variable hausnummerCount und eine member hausnummer. dann im Konstruktor z.B. sowas:

Java:
//...
public Haus(....) {
this.hausnummer = hausnummerCount++;
//....
}
 
aber irgendwie bekomme ich es trotzdem noch nicht auf die reihe....
Java:
 public class Haus {

static int hausnummerCount;
int raume;
String memberHausnummer;


this.hausnummer = hausnummerCount++;
public int getHausnummer(){
return hausnummer;
}
}
 
Zuletzt bearbeitet von einem Moderator:
Java:
this.hausnummer = hausnummerCount++;
Die Anweisung darf nicht einfach so in der Klasse rumfliegen, die gehört in einen Konstruktor.
 
sry, mein Fehler
Java:
public class Haus {

static int hausnummerCount;
int raume;
String memberHausnummer;

public Haus(int Hausnummer){
this.hausnummer = hausnummerCount++;

public int getHausnummer(){
return hausnummer;
}
}
so?
 
Zuletzt bearbeitet von einem Moderator:
sry, mein Fehler
Java:
public class Haus {
		
		static int hausnummerCount;
		int raume;
		String memberHausnummer;
		
		public Haus(int Hausnummer){
		this.hausnummer = hausnummerCount++;
		
		public int getHausnummer(){
			return hausnummer;
		}
	}
so?
Nein ...
1. Wozu übergibst du dem Konstruktor eine Hausnummer, wenn du diese eh verweirfst und eine neue generierst?
2. hausnummer ist nirgendwo deklariert.
3. memberHausnummer wird nirgendwo verwendet.
4. dito für raume
5. Syntaxfehler (fehlende Klammern, ...)

Mal ehrlich: Rätst du nur rum oder wirst du dir irgendwann wenigstens mal die Sprachgrundlagen anschauen? Und hast du keinen Compiler bzw. IDE? Diese würde dir sofort deine ganzen Fehler anzeigen.
 
hast du den ne bessere idee für nen static wert, bei dem ich nicht noch 100 schritte brauche um ihn zu implementieren?
was für nen static wert gibts den bei nem haus?
 
Ich würde sagen die Tatsache, dass es ein Haus ist ist ein Staticwert bei eine Haus 😉

Alle anderen Attribute sollten nicht static sein.
 
.... also jetzt mach aber mal halblang....
ich frage hier nach hilfe, weil ich weiß dass der code so nicht funktionieren kann.
wenn ich es besser könnte würde ich sicher nicht hier nachfragen....
 
Dir wurde doch schon eine mögliche Lösung mit dem
Code:
hausnummerCount
vorgeschlagen.
Was erwartest du jetzt noch, dass dir jemand den fertigen Code dazu liefert oder wie?
 
Java:
public class Haus {
	private static int hausnummernCounter = 1;

	private int hausnummer;

	public Haus() {
		hausnummer = hausnummernCounter++;
	}
	
	... weitere Methoden, z.b. getter ...
}

Das stand aber weiter oben doch schon genauso..
 
vielen vielen Dank.
die erste Aufgabe ist somit gelöst
Java:
public class Haus {

private static int hausnummernCounter = 1;

private int hausnummer;

String besitzername;

public Haus() {
hausnummer = hausnummernCounter++;
}

public String getBesitzername(){
return besitzername;
}
}
jetzt soll ich noch eine Unterklasse erstellen, die von Haus erbt.
ich habe mich für Garage entschieden.
in der Unterklasse soll es ebenfalls einen static Wert geben....
da mir nichts besseres eingefallen ist habe ich
static int garagentor = 1 genommen....
denkt ihr, dass ist ok?
 
Zuletzt bearbeitet von einem Moderator:
Eine Garage erbt doch nicht von Haus?

Damit hätte es einen Besitzer und eine hausnummer.

----------

Bei dem gewählten Beispiel ist das nicht sooo leicht. Da hast du einfach nicht weit genug gedacht.

Ich würde hier am ehesten Wohnung nehmen und dann noch ein Attribut Wohnungsnummer... als Static würde ich die anzahl aller Wohnungen nehmen.
 
Sorry,

das ist mehr oder weniger kompletter Müll.
Wenn es dir nur darum geht, die Aufgabe zu haben, dann schreib die morgen ab.
Wenn du was lernen willst (dasnn wird dir hier auch gerne geholfen), dann überleg noch mal neu und nimm ein Beispiel, das du verstehst, wo eine sinnvolle Vererbung und sinnvolle statische Variablen machbar sind.
 

Zurück
Oben