Guten Abend. Ich bin Anfänger und gerade dabei ein paar Übungsaufgaben durchzuarbeiten.
Die Aktuelle habe ich eigentlich fertig aber ich verstehe nicht wie die Aufgabenstellung gemeint ist daher geht das Programm noch nicht.
Aufgabe 1: Schreiben Sie ein Programm, welches die Seitenlänge eines Quadrats einliest, die Fläche berechnet und in einer weiteren Klasse auf zwei verschiedene Arten ausgibt.
Zum einen das und zum anderen die Sache mit "und eine Referenz vom Typ der eigenen Klasse übergeben bekommt".
Ich habe das so verstanden dass ich als Argument der Klassenmethode ein Objekt der eigenen Klasse übergeben soll.
Das ist ja schon irgendwie pervers... Das Programm hat das zwar so angenommen aber in der QuadratDefinitionAusgabe Klasse gibt es dann noch einen Fehler und dann geht das Ganze natürlich nicht.
In der "System.out.println..." Zeile jammert der Compiler "Die Methode flaeche(QuadratDefinition) im Typ QuadratDefinition ist für die Argumente nicht anwendbar (Scanner)".
Und natürlich auch beim erzeugen des Objektes weil ich den Scanner als Argument übergeben möchte.
Ich blicke da noch nicht so ganz durch. Ich beschäftige mich erst seit ein paar Tagen intensiver mit Java.
Er behandelt die Variable "Eingabe" als Variable vom Typ Scanner. Ich wollte den Inhalt schon in eine Andere vom Typ int stecken ging aber nicht.
Die Aktuelle habe ich eigentlich fertig aber ich verstehe nicht wie die Aufgabenstellung gemeint ist daher geht das Programm noch nicht.
Aufgabe 1: Schreiben Sie ein Programm, welches die Seitenlänge eines Quadrats einliest, die Fläche berechnet und in einer weiteren Klasse auf zwei verschiedene Arten ausgibt.
- Definieren Sie eine Klasse QuadratDefinition, die ein Instanzfeld a vom Typ int besitzt, welches die Seitenlänge eines Quadrats angibt. Im Konstruktor der Klasse wird ein int-Wert zum initialisieren des Instanzfeldes übergeben.
- Implementieren Sie zwei Methoden für die Berechnung des Flächeninhalts eines Quadrats mit der Formel f=a*a. Definieren Sie eine parameterlose Instanzmethode flaeche() und eine Klassenmethode, welche die Instanzmethode überlädt und eine Referenz vom Typ der eigenen Klasse übergeben bekommt.
- Eine weitere Klasse QuadratDefinitionAusgabe erzeugt eine Instanz der Klasse QuadratDefinition, berechnet auf zwei Arten den Flächeninhalt über den Aufruf der Methoden der Klasse und zeigt die errechneten Ergebnisse auf der Konsole an.
Zum einen das und zum anderen die Sache mit "und eine Referenz vom Typ der eigenen Klasse übergeben bekommt".
Ich habe das so verstanden dass ich als Argument der Klassenmethode ein Objekt der eigenen Klasse übergeben soll.
Das ist ja schon irgendwie pervers... Das Programm hat das zwar so angenommen aber in der QuadratDefinitionAusgabe Klasse gibt es dann noch einen Fehler und dann geht das Ganze natürlich nicht.
Java:
public class QuadratDefinition {
int a;
public static int flaeche(QuadratDefinition A){
int f = A.a * A.a;
return f;
}
public QuadratDefinition(int A){
a = A;
}
public int flaeche(){
int f = a * a;
return f;
}
}
Java:
import java.util.Scanner;
public class QuadratDefinitionAusgabe {
public static void main(String[] args) {
System.out.println("Gib eine Seitenlänge für das Quadrat an welches erzeugt wird:");
Scanner Eingabe = new Scanner(System.in);
QuadratDefinition Quadrat01 = new QuadratDefinition(Eingabe);
System.out.println("Die Fläche des erzeugten Quadrates beträgt:" + QuadratDefinition.flaeche(Eingabe));
}
}
In der "System.out.println..." Zeile jammert der Compiler "Die Methode flaeche(QuadratDefinition) im Typ QuadratDefinition ist für die Argumente nicht anwendbar (Scanner)".
Und natürlich auch beim erzeugen des Objektes weil ich den Scanner als Argument übergeben möchte.
Ich blicke da noch nicht so ganz durch. Ich beschäftige mich erst seit ein paar Tagen intensiver mit Java.
Er behandelt die Variable "Eingabe" als Variable vom Typ Scanner. Ich wollte den Inhalt schon in eine Andere vom Typ int stecken ging aber nicht.