Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo nochmal.
Ich befasse mich noch mit den Grundlagen von Java ( "java lernen mit BlueJ").
dort ist eine Aufgabe, da weiss ich nicht so genau, was man von mir erwartet, Habe einen Ansatz(?)
Schreiben Sie Java-Anweisungen, die eine Variable fenster vom Typ Rechteck definieren, anschließend ein Rechteck-Objekt erzeugend es dann dieser Variable zuweisen. Der Konstruktor der Klasse Rechteck hat zwei int-Parameter.
Java:
public Rechteck(int a, int b)
{
this.a = a;
this.b = b;
}
public Rechteck fesnter()
{
fenster = new Rechteck();
fenster.a();
fenster.b();
}
Ich habe das jetzt mal in einen neuen Thread geschoben, da das Thema nicht zu dem anderen passt.
Aber zu deiner Frage:
Deine Aufgabe ist es eine Variable zu erstellen die fenster heißt und vom Typ Rechteck ist (mit dem Konstruktor passt das schon mal).
Java:
Rechteck fenster = new Rechteck(10, 10);
Aber deine Methoden a(), b() sollten besser heißen getA() und getB(). Aber noch besser wäre, wenn du a und b gleich in width und height umbenennst und die getter getWidth() getHeight().
public class Rechteck
{
private int width;
private int height;
public Rechteck(int width, int height)
{
this.width = width;
this.height = height;
}
public Rechteck fesnter()
{
fenster = new Rechteck();
fenster.getWidth();
fenster.getHeigth();
}
}
public class Rechteck
{
private int width;
private int height;
private Rechteck fenster;
public Rechteck(int width, int height)
{
this.width = width;
this.height = height;
}
public Rechteck fesnter()
{
fenster = new Rechteck();
fenster.getWidth();
fenster.getHeigth();
}
}
BlueJ ist echt Kompliziert..
Ich komm gerade echt nicht weiter.
Variable deklarieren ist mir klar.
-Rechteck fenster;
Konstruktor mit zwei int Parameter ist auch klar.
- public Rechteck fesnter()
{
fenster = new Rechteck();
fenster.getWidth();
fenster.getHeigth();
}
zuweisen der variable ist mir jetzt auch klar.
-fenster = new Rechteck (10, 10)
Bei mir hakt es halt am BLUEJ selbst.es setzt sehr viel Detail voraus. Ich weiss nicht ,wo ich das alles reinschreiben soll. also wie weit ich in der Rechteck Klasse den code implementieren soll bzw in der anderen Klasse. normalerweise brauche ich doch eine weitere Klasse, um den Konstruktor aufzurufen, oder nicht? würde gerne mit netBeans programmieren aber meine Klausur muss ich mit BlueJ schreiben.
public class Rechteck {
private int width, height;
public Rechteck(int width, int height) {
this.width = width;
this.height = height;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
}
Die Methoden sind kein Problem. Besten Dank nochmal für die Hilfe und Geduld.
Methoden aufrufen kann ich auch bereits. Ist denn meine Lösung zu der Aufgabenstellung soweit ok?
ich weiss nicht wie ich die setter-Methoden aufrufen kann. setter-Methoden müssen doch deklariert und initialisiert werden oder?
Java:
public class Rechteck
{
private int width;
private int height;
public Rechteck(int width, int height)
{
this.width = width;
this.height = height;
}
public void setWidth(int width)
{
this.width = width;
}
public int getWidth()
{
return width;
}
public void setHeight(int height)
{
this.height = height;
}
public int getHeight()
{
return height;
}
}
Java:
public class Fenster
{
private Rechteck fenster;
public Fenster()
{
fenster = new Rechteck(20, 30);
}
public void gibHoehe()
{
fenster.getHeight();
}
public void gibBreite()
{
fenster.getWidth();
}
}
Ich glaube du hast was falsch verstanden. Variablen müssen deklariert und initialisert werden. Methoden sind Klassen/Objekt-Eigenschaften. Je nachdem ob sie static (eine Klassenmethode) oder eine Objekt-Methode (je nach Sichtbarkeit) ist, kann sie mit der Klasse oder mit dem instanzierten Objekt aufgerufen werden.
Java:
public class Test {
public static void main(String... args) {
Rechteck eck = new Rechteck(10, 10);
System.out.println(eck.getWidth());
eck.setWidth(20);
System.out.println(eck.getWidth());
}
}
Ah so! ja das stimmt allerdings.
laut drittes Kapitel müsste ich die Aufgaben eigentlich lösen können. ich habe die Kapiteln 1 und 2 gut verstanden und die Aufgaben ohne Probleme lösen können.Keine Ahnung warum es hakt.Aber die Aufgabenstellung erwartet ja keine Methodenaufrufe.
Damit man sieht, dass sich etwas geändert hat auf der Konsole. Kein normaler Mensch programmiert mit BlueJ, sondern nimmt was anständiges. Diese bieten nur Konsolenausgaben.
Naja du kannst es mit einem Buch lernen. Mit den offiziellen Java-Tutorials von Oracle oder Videotutorials. Hängt von deinem Lernstil ab. Aber am wichtigsten ist üben, üben, ... .
Aber es gibt hier genug Threads im Forum die dieses Thema schon unzählige male behandelt haben.
Ja das stimmt schon, bei programmieren muss man selber Aktiv werden und üben, üben, üben und natürlich Tutorials sind auch sehr hilfreich. Aber meine Frage ist eher mit welchem Buch, ob da vielleicht was Empfehlenswertes an Büchern gibt?
das Buch von BlueJ... da fehlen mir die Worte. je höher der Schwierigkeitsgrad wird, desto unverständlicher wird die Sprache.