Java Setter und Getter

Hades85 schrieb:
Weiß der TE überhaupt was ein Datentyp ist oder ein Bezeichner? Ich glaube er sollte erst mal bei null anfangen bevor er sich mit Methoden oder mit Listen beschäftigt, wie in Vorgängerthemen.
Das wurde in mehreren Threads bereits mehrfach vorgeschlagen und ignoriert.
 
Code:
package paket1;

public class Panjutorials {
	
	public static void main(String[] args) {
		

	Auto auto1 = new Auto("Grün", 200);
	Auto auto2 = new Auto("Schwarz", 400);
	
	
	

	System.out.println("Mein neues Auto ist " + auto1.getFarbe ()); 
	System.out.println("Mein neues Auto hat " + auto1.getPs());
	

	System.out.println("Mein neues Auto ist "+ auto2.getFarbe());
	System.out.println("Mein neues Auti ist " + auto2.getPs());
	
	
	auto1.setPs(350);
	
	
	System.out.println("Mein neues Auto hat "+ auto1.getPs());
	System.out.println("Mein neues Auto ist " + auto1.getFarbe());
	
	
	auto1.setFarbe(lila);
	
	
	System.out.println("Mein neus Auto ist "+ auto1.getFarbe());
	
	}
	
	
	
}

Code:
package paket1;

public class Auto {

	
	
		
		private String farbe;
		private int ps;
		public char[] getPs;

		public Auto(){
			this("Blau", 100);
		}

		public Auto(String farbe){
            this(farbe, 100);
		}

		public Auto(String farbe, int ps){
			setAuto(farbe,ps);
		}

		public void setAuto(String farbe, int ps){
			setFarbe(farbe);
			setPs(ps);
   	}		
	
		public void setFarbe(String farbe){
			this.farbe=farbe;
		}

		public String getFarbe(){
				return farbe;
			
		}
		public void setPs(int ps){
			this.ps=ps;
		}
		
		public int getPs(){
			return ps;
		
		
	}

}

Ich wollte fragen, wie ich mit Hilfe der Setter und Getter Methode, nachträglich nicht nur die Anzahl der PS sondern auch die
Farbe ändern kann. Die Anzahl der PS hab ich geschafft zu verändern, aber nicht die Farbe, da kommt immer eine Fehlermeldung.
Ich habe es geschafft, die Anzahl der PS bei auto1 von 200 auf 350 erfolgreich zu verändern.
Jetzt würde ich in auto1 auch noch gerne die Farbe von schwarz auf lila verändern,
doch da kommt immer eine Fehlermeldung. Was mache ich falsch?
 
Zuletzt bearbeitet:
HerrDrachen schrieb:
da kommt immer eine Fehlermeldung
Normalerweise schreibt man auch die Fehlermeldung dazu. In vielen Fällen steht dort sogar drin, was du falsch gemacht hast.
Ich geb' dir mal einen Tipp: Die Farbe hat bei dir den Datentyp String.
 
Fehlermeldung:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
lila cannot be resolved to a variable

at paket1.Panjutorials.main(Panjutorials.java:29)



@Darlis

Ich komm nicht auf die Idee^^
 
"lila cannot be resolved to a variable"

Da steht doch das Problem. Möchtest du dem setter eine Variable namens lila übergeben? Nein, also musst du da was ändern.
 
Wie würdest du denn "lila" in der Console ausgeben (println)?

Schreibe mal diese Zeile auf, dann schreibe deine jetzige Zeile mit setFarbe unten drunter und schaue dir den Unterschied an.
 
Schau dir doch mal an, wie du es geschafft hast ein "blaues" Auto zu erstellen und warum dein lila Auto nicht funktionieren will.

Für alle anderen die es merken -> :D
 
Hab mal dein "Tipp" übernommen :D
 
Mach doch wenigstens mal das, was ich dir sagte...
Code:
println("lila");
auto1.setFarbe(lila);
 
Sorry, aber du solltest andere Sorgen haben.:p Warum das nächste Video-Tutorial starten wenn du noch mit den Grundlagen aus den anderen Übungen beschäftigt bist? (Musst dich bei edX halt registrieren um Videos zu gucken.)

Hast du eigentlich jetzt dein lila Auto?:)
 
Zuletzt bearbeitet:
Vielleicht werden die Grundlagen in diesem Video ja gerade erklärt :D

Nein, ich bekomme das lila Auto einfach nicht hin!
 
Dir ist doch sicherlich schon aufgefallen, dass in der Code-Ansicht hier im Forum (und in Eclipse) bestimmte Datentypen farbig sind. Class, Integer, String zB.
Guck dir an das was Bagbag geschrieben hat und was dein setFarbe in den Klammern erwartet.
 
Zuletzt bearbeitet:
hahaha einfach nur auto1.setFarbe("lila");

Lila nur in Anführungsstriche setzen.
Ohman, soviel Ärger nur wegen sowas^^

Strings werden immer in " " gesetzt, weiss ich eigentlich.
 
Zuletzt bearbeitet:
Genau, also ginge zum Beispiel
Code:
auto1.setFarbe("lila");

ODER

Code:
String lila = "lila";
auto1.setFarbe(lila);



PS: Die Funktion System.out.println aus dem Java.io Package, die du schon fleißig benutzt, ist übrigens wie folgt aufgebaut:
Code:
public void println(String x)

Parameters:
x - The String to be printed.
Mit dem Unterschied, dass diese überladen ist (wie du dem Link entnehmen kannst) und die Funktion auch mit anderen Dateitypen im Konstruktor existiert.
 
Zuletzt bearbeitet:
Aljoscha, es ist immer das Gleiche mit dir.
Ohne Grundlagen versuchst du dich hier wieder an einem neuen Projekt, dieses mal programmieren.
Versuche wenigstens das hier mitgeteilte umzusetzen, aber damit scheinst du auch überfordert zu sein.
Ich habe dir schon geschrieben, das Forum bietet dir kein Programmierkurs im VHS Stil an.
Eigentlich müßte ich dich (mal wieder) vor die Tür setzten.
 
G00fY schrieb:
PS: Die Funktion System.out.println aus dem Java.io Package, die du schon fleißig benutzt, ist übrigens wie folgt aufgebaut:
Code:
public void println(String x)

Parameters:
x - The String to be printed.
Mit dem Unterschied, dass diese überladen ist (wie du dem Link entnehmen kannst) und die Funktion auch mit anderen Dateitypen im Konstruktor existiert.

Abgesehen davon, dass Methoden keinen Konstruktor haben ;) Methoden haben einfach nur Parameter und können überladen sein, ich fürchte nur der Ersteller weiß nicht was das heißt.

HerrDrachen, kannst Du wohl mal mit eigenen Worten Beschreiben, was Klassen, Objekte, Variablen, Instanzvariablen, Methoden und Datentypen sind?
 
Zurück
Oben