Erste Schritte Anfängerin braucht Hilfe

Hallo Zusammen,

ich habe grade angefangen mich mit Javaprogrammierung auseinander zu setzten und habe bei meinem ersten kleinen Programm schon Probleme...

Es geht darum, die Kosten für einen Teppich für 3 verschiedene Räume zu berechnen.
Länge, Breite sowie die Quadratmeterkosten für den Teppich sollen von dem User eingegeben werden.

Das ganze soll "Object-Oriented" sein. Also jeder Raum ist ein Object und greift auf die nur einmal zu programmierende Rechnung zu.

Ich habe jetzt einmal wie folgt angefangen:
Java:
//The RoomApp program helps to compute the costs of carpeting three rooms.
//Room objects have dimensions of width and length, and they compute and return their area and the cost to carpet themselves.
//The main method of the RoomApp class creates a Room object and uses a loop to process each of three rooms: get the dimensions
//and carpet price, write out the individual areas and costs, add the three costs, then write out total cost.

package RoomApp;
import java.util.Scanner;
import java.text.*;
public class RoomApp {

	public static void main(String[] args) 
	{
		DecimalFormat f = new DecimalFormat ("0.00");
		double newWidth = 0.0;										//width of a room - given
		double newLength = 0.0;										//length of a room - given
		double newPrice = 0.0;										//price for a square meter carpet
		double area = 0.0;
		String response = " ";										//user`s response
		char more = 'Y';											//controls loop for processing more rooms
		
		Scanner inp = new Scanner(System.in);
		Room Area = new Room();										//creates a Room object
		
		System.out.print("Do you want compute the carpeting costs for a new room? (Y or N):");
		
		response = inp.next();
		more = response.charAt(0);
		
		while(more == 'Y')											//more rooms to compute
		{
			System.out.println();
			System.out.print("Enter the value of the length of the room:");
			newLength = inp.nextDouble();
			
					Room.setLength(newLength);						//give room this length
		}
		{
			System.out.println();
			System.out.print("Enter the value of the width of the room:");
			newWidth = inp.nextDouble();
			
					Room.setWidth(newWidth);						//give room this Width
		}
		{
			System.out.println();
			System.out.print("Enter the price of the carpet per square meter:");
			newPrice = inp.nextDouble();
			
					Room.setPrice(newPrice);						//give carpet this price per square meter	
		}
		{
			System.out.println("The area for a room of the witdh "+"room.getWidth"+" and the lenght "+"room.getLength"+" is " + Room.doArea() );
		}
		{
			System.out.println("The costs for carpeting this room are "+ roomdoCost() );
		}
		{
			System.out.println();
			System.out.print("Do you want to calculate carpeting costs for another room? (Y or N)");
			
			response = inp.next();
			more = response.charAt(0);
		}
	}

}

Weiterhin habe ich noch eine Class für die Berechnungen erstellt:
Java:
package RoomApp;

public class Room {
		public void setWidth(double value)		//sets width equal to value
		{
			width = value;
		}
		public void setLength(double value)		//sets length equal to value
		{
			length = value;
		}	
		public void setPrice(double value)
		{
			price = value;
		}
		public double getWidth()
		{
			return width;
		}
		public double getLength()
		{
			return length;
		}									
		public double getPrice()
		{	
		return price;
		}
		public double doArea()					//computes and returns area of a circle
		{
			return width*length;
		}
		public double doCost()
		{
			return area*price;
		}
		private double area;
		private double cost;

Bei der "Room" Class kommt für die variablen leider immer die folgende Fehlermeldung: "width cannot be resolved to a variable"
Leider verstehe ich nicht, woran das liegt.

Wäre super lieb von euch, wenn ihr mir weiterhelfen könnt. Bin hier schon halb am verzweifeln :(.

Liebe Grüße,
Anna :)
 

rme

Top Contributor
Hallo :)

Keine Sorge, am Anfang ist es normal, dass man ständig wirre Fehlermeldungen bekommt. Beim Programmieren muss man gleichzeitig ein bisschen dominant und unterwürfig sein - einerseits dominant, weil man bis in's kleinste Detail befehlen kann, was passieren soll. Andererseits ist man ständig gezwungen, dem Compiler demütig seine Fehlermeldungen abzunehmen und sich seinem Willen anzupassen. Da die meisten Menschen nur eine dieser Charaktereigenschaften aufweisen, ist der Einstieg dann schwierig ;)

Dein Raum hat verschiedene Eigenschaften wie Länge und Breite und du hast Methoden dafür vorgesehen, dass ein Nutzer deiner Klasse diese Eigenschaften setzen und abfragen kann. Dabei hast du ganz unten allerdings nur "area" und "cost" als Eigenschaften der Raum-Objekte angegeben. Sowas wie "width" sehe ich da nicht. Deshalb erkennt der Compiler nicht, was "width" sein soll. Ein long? Ein double? Du musst ihm helfen und unten angeben, welche Art von Platz er für "width" reservieren soll.

Vielleicht ist dein Denkfehler, dass er das dank des Parameters von setWidth bereits weiß - da steht schließlich "double width". Aber das ist nur der Parameter - es wäre durchaus legitim, dass die Breite von außen als double reinkommt, du sie innerhalb des Objekts aber als float, int oder sonstwas speichern möchtest.

Kurze Lösung also: Da, wo du in Zeile 36 und 37 area und cost deklarierst, solltets du auch width und andere fehlende Dinge deklarieren :)
 
Super, vielen Dank für deine schnelle Antwort! :)

Endlich sind die Fehlermeldungen in der Room Class weg!

Jetzt habe ich aber leider noch in der RoomApp Class die folgenden Fehlermeldungen:

In den Zeilen 35,42,49,52,55. "Cannot make a static reference to the non-static method setLength(double) from the type Room"

Könntest du mir da auch weiterhelfen?
 

gescom

Mitglied
Deine Referenzvariable heißt auch Area und nicht Room.

Du erstellst das Objekt Room und "speicherst" es auf der Variablen Area.
 

rme

Top Contributor
Ich kann's versuchen :)

In einer Klasse (Room ist eine Klasse) lassen sich normalerweise keine Sachen speichern (Ausnahmen lernst du später, Stichwort: static). Die Room-Klasse ist bei dir sozusagen ein Bauplan für Räume allgemein. Und so, wie man aus einem Plan ganz viele Räumen bauen kann, kannst du mithilfe deiner Klasse ganz viele Raum-Objekte anlegen. Die Objekte können sich alle unterschieden: Unterschiedliche Längen, Breiten, Kosten..

In Zeile 22 legst du mit "new" so ein Raum-Objekt an. Du hast es "Area" genannt.

In Zeile 35 versuchst du, dem Raum-Plan (der Raum-Klasse) eine Länge zuzuweisen. Das geht aber nicht, weil die Klasse nur die Vorlage für Objekte ist - konkrete Werte werden erst in den eigentlichen Objekten zugewiesen. Bedeutet: Dein Raum "Area" kann eine Länge haben, da er ein individuelles, mit new erzeugtes Objekt der Raum-Klasse ist. Die Raum-Klasse selbst kann keine Länge haben, da sich jeder Raum da unterscheiden darf.

Deshalb: Statt Room.setLength sollte da Area.setLength stehen. Und möglicherweise solltest du den Raum umbenennen, "Area" klingt beim ersten Lesen nicht danach, es wäre es ein Raum. Außerdem sollten Objekte mit einem Kleinbuchstaben beginnen, du könntest ihn beispielsweise "room" nennen. Klasse mit Großbuchstaben (z.B. Room), Objekte mit Kleinbuchstaben (z.B. room, livingRoom, secretSpecialRoom).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kamy Ein einfaches "Vier Gewinnt" Spiel für Anfängerin Java Basics - Anfänger-Themen 51
L Anfängerin möchte Linie zeichnen Java Basics - Anfänger-Themen 8
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
celta_vigo Programmieranfänger braucht Rat zu mehr Praxisnähe Java Basics - Anfänger-Themen 8
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
Devin Wie lange braucht man um Java zu beherrschen und wie kann man es am schnellsten erlernen? Java Basics - Anfänger-Themen 7
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
ruutaiokwu Bluetooth-Zugriff, braucht es dazu plattformabhängige Libraries oder kann das Java mittlerweile selbst? Java Basics - Anfänger-Themen 10
S Ein Java Anfänger braucht Hilfe Java Basics - Anfänger-Themen 5
T Erste Schritte Endlosschleife & wozu braucht man /* und */ Java Basics - Anfänger-Themen 19
F Anfänger braucht Hilfe :) Java Basics - Anfänger-Themen 3
D Anfänger braucht Hilfe Java Basics - Anfänger-Themen 2
V Erste Schritte Java-Anfänger braucht Hilfe bei Arrays Java Basics - Anfänger-Themen 19
J Kleiner Taschenrechner! Anfänger braucht Hilfe :( Java Basics - Anfänger-Themen 2
K Wer braucht die Java3d Bins ? Java Basics - Anfänger-Themen 1
I totaler Anfänger braucht Hilfe Java Basics - Anfänger-Themen 8
T Hallo anfänger braucht Hilfe :D Java Basics - Anfänger-Themen 7
Thallius Best Practice Umsteiger braucht Tipps zur Bildverarbeitung Java Basics - Anfänger-Themen 1
C Anfänger braucht Hilfe bei Schularbeit Java Basics - Anfänger-Themen 3
F Anfänger braucht Hilfe Java Basics - Anfänger-Themen 24
F Wozu braucht man array list? Java Basics - Anfänger-Themen 29
L Wieviel Speicher braucht ein Pixel? Java Basics - Anfänger-Themen 14
T Java Applet braucht mehrere Minuten zu Start Java Basics - Anfänger-Themen 5
L Klassen Anfänger braucht Hilfe! Probleme mit Javakara.jar Java Basics - Anfänger-Themen 25
J OOP Warum braucht man den Stack Java Basics - Anfänger-Themen 3
D ActionListener braucht zwei Klicks auf Button??? Java Basics - Anfänger-Themen 2
M Erste Schritte Anfänger braucht Denkanstoß für Schulprojekt Java Basics - Anfänger-Themen 21
W Anfänger braucht Hilfe bei Hausübung! Sprachauswahl? Wie? Java Basics - Anfänger-Themen 9
D Anfänger braucht Hilfe:Interface Java Basics - Anfänger-Themen 14
F Wo zu braucht man Kommentar "TODO"??? Java Basics - Anfänger-Themen 20
0 Wozu braucht man Generics? Java Basics - Anfänger-Themen 1
T Interfaces: Braucht man abstrakte Klassen eigentlich noch? Java Basics - Anfänger-Themen 3
D Was ist ein StringReader und wofür braucht man ihn? Java Basics - Anfänger-Themen 2
H Was braucht man oft in Java? Java Basics - Anfänger-Themen 9
X Anfänger braucht hilfe! Java Basics - Anfänger-Themen 4
bigbasti Warum genau braucht man Interfaces? Java Basics - Anfänger-Themen 10
G Textfeld und Label in einem Tab? Anfänger braucht Hilfe Java Basics - Anfänger-Themen 3
G Für was braucht man den This-operator Java Basics - Anfänger-Themen 3
hedges Prog braucht lange, schlecht programmiert? Java Basics - Anfänger-Themen 3
S Blutiger Java Anfänger braucht dringend Hilfe Java Basics - Anfänger-Themen 4
M Braucht jede Klasse eine Schnittstelle ? Java Basics - Anfänger-Themen 4
G unwissender braucht Hilfe bei Umschreibung Java Basics - Anfänger-Themen 4
M noob braucht hilfe Java Basics - Anfänger-Themen 3
E Anfänger braucht Hilfe Java Basics - Anfänger-Themen 6
L JFrame öffnet 2tes JFrame, welches Daten vom 1sten braucht. Java Basics - Anfänger-Themen 21
T Vokabelbuch programmieren - Anfänger braucht Hilfe! Java Basics - Anfänger-Themen 17
M j2ee: was braucht es alles dazu? Java Basics - Anfänger-Themen 3
J blutiger Anfänger braucht Hilfe ^^ Java Basics - Anfänger-Themen 3
S Eingabe überprüfen .. newbee braucht hilfe .. Java Basics - Anfänger-Themen 4
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
E Hilfe bei rekursiver Funktion Java Basics - Anfänger-Themen 3
H pdf stempel - Hilfe erbeten Java Basics - Anfänger-Themen 6
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
F RegEx Hilfe Java Basics - Anfänger-Themen 5
S Hilfe bei Endlosschleife Java Basics - Anfänger-Themen 2
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
U Ich bräuchte Hilfe Java Basics - Anfänger-Themen 1
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
aero043 Hilfe bei BlueJ Hausübung Java Basics - Anfänger-Themen 27
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
P Hilfe gesucht Java Basics - Anfänger-Themen 11
D Hilfe bei Calculator Test Java Basics - Anfänger-Themen 15
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
R Java Bücher hilfe Java Basics - Anfänger-Themen 9
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
I Scheduling: "Quartz" verwenden, Hilfe bei Umstellung Java Basics - Anfänger-Themen 3
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
Ekooekoo Hilfe spiel Java Basics - Anfänger-Themen 5
SpiritsHuner Hilfe!! Java Basics - Anfänger-Themen 16
Lacotto Java Kurs Aufgaben Hilfe Java Basics - Anfänger-Themen 14
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
Neuling47 Denkfehler? Hilfe Java Basics - Anfänger-Themen 11
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
D Bitte um Hilfe muss es schnellstmöglich erledigen Java Basics - Anfänger-Themen 15
L Hilfe bei RegEx Java Basics - Anfänger-Themen 4
I Bitte um Hilfe zu unterstehenden Code Java Basics - Anfänger-Themen 6
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
Neuling47 bräuchte dringend hilfe Java Basics - Anfänger-Themen 6
D Bräuchte Hilfe im Bezug zum printarray() Java Basics - Anfänger-Themen 4
M Bitte um Hilfe bei 2DArrays Java Basics - Anfänger-Themen 8
HeiTim Array hilfe Java Basics - Anfänger-Themen 14
M LCD-Ziffern-Hilfe Java Basics - Anfänger-Themen 6
özkan hilfe!! Java Basics - Anfänger-Themen 4
C Hilfe bei einem Anfängerprojekt Java Basics - Anfänger-Themen 25
D Abrechnung bitte um hilfe Java Basics - Anfänger-Themen 25
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben