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.
Variablentyp gesuch, der Zahlen und Buchstaben beinhaltet
ich bin gerade dabei Java zu lernen, aber ih finde einfach keine Variable für Buchstaben UND Zahlen.
Das brauch man ja zum Beispiel beim Passwort (welches ja meist aus Zahlen und Buchstaben besteht)
code:
public void Spieler(String Name, String Passwort ) {
String Name = beispielname;
String Passwort = beispielpasswort123;
}
wie sag ich dem jetzt, dass java das alter passwort löschen soll und durch ein neues ersetzten soll? (also z.b. soll das neue passwort "123abc" heißen)
Der Code ist so ja schonmal ziemlich sinnlos (und auch nicht übersetzbar) - was soll die Methode (oder ist es der Konstruktor der Klasse Spieler?) genau machen? Sollen Name und Password übergeben werden? Gibt es in der Klasse Membervariablen für Name und Password?
wenn sich ein neuer spieler anmeldet, soll ein "new Spieler" mit neuen daten erstellt werden. Das passwort soll änderbar sein, aber der name nicht.
den namen brauch man z.b. für den highscore und so...
ich wollte das ganze programm in eine klasse machen (ist das gut?)
public class Spieler {
//--- Deklaration der Membervariablen (private, daher nur innerhalb der Klasse sichtbar)
private final String name; //-- als final deklariert, so dass dieser nur einmalig im Konstruktor gesetzt werden kann
private String password;
//--- Konstruktor mit Paramterübergabe
public Spieler( String name, String password) {
this.name = name;
this.password = password;
}
//--- oeffentliche Zugriffsmethode (zum Auslesen des Namens)
public String getName() {
return name;
}
//--- oeffentliche Zugriffsmethode (zum Auslesen des Kennworts)
public String getPassword() {
return password;
}
//--- oeffentliche Zugriffsmethode (zum Setzen eines neuen Kennworts)
public void setPassword( String password) {
this.password = password;
}
}
Die Variablen sind also als private deklariert und daher nur innerhalb der Klasse zu verwenden. Für den ZUgriff von außen implementiert man Get-/Set-Methoden - und zwar eben nur das, was man nach außen hin eben auch erlauben will.
eigentlich macht mann alles in cerschiedenen Klassen somit kann man Klassen wiederverwenden und mann muss nicht z.B. bei jedem Spiel nochmal alles neu programmieren, da Spiele ja oft gemeinsamkeiten haben
wenn man aber z.b. das hauptprogramm in einer klasse und z.b. die gebäudeübersicht in der anderen klasse hat, werden dann die variablen einfach in beiden verwendet?
wenn man aber z.b. das hauptprogramm in einer klasse und z.b. die gebäudeübersicht in der anderen klasse hat, werden dann die variablen einfach in beiden verwendet?
Am besten vorne anfangen, Kapitel 1 und 2 zumindest mal das Inhaltsverzeichnis, wenn dir das klar ist, kannste das überspringen. Kapitel 3 Klassen und Objekte scheint so das zu sein was du erstmals benötigst um weiterzukommen
Am besten macht man das GAR NICHT ;-) Um deine "Unwissenheit" ein wenig zu verringern, solltest du dich ein wenig mit den Grundlagen der objektorientierten Programmierung auseinandersetzen. Die Denkweise ist einfach eine ganz andere, als z.B. bei C.
Du überlegst dir also zunächst mal, welche Objekte dein Programm demnächst einmal verwenden soll (z.B. verschiedene Gebäude). Dann legst du die Merkmale deiner Gebäude fest, die du in deinem Spiel benötigst. Also zumindest einmal Länge, Breite und Höhe, denke ich und vielleicht noch die Anzahl der Personen, die sich gerade darin aufhalten (um mal ein Beispiel zu nennen...)
Daraus "bastelst" du dir dann eine Klasse => Gebaeude.java. Um nun auf Daten zugreifen zu können (lesend und/oder schreibend), benötigst du einige Methoden. Murray hat das in seinem Beispiel für die Klasse "Spieler" ja auch schon gezeigt.
Code:
public class Gebaeude
{
private int laenge = 0;
private int breite = 0;
private int hoehe = 0;
private int anzahlPersonen = 0;
public Gebaeude(int l, int b, int h) // der Konstruktor, aber das weisst du sicher
{
laenge = l;
breite = b;
hoehe = h;
}
public int getHoehe()
{
return hoehe;
}
public void personGehtInsHaus()
{
anzahlPersonen++;
}
}
Dein Programm erzeugt dann verschiedene Gebäude:
Code:
Gebaeude meinBungalow = new Gebauede(10, 15, 3); // die Zahlen stehen laut Konstruktor fuer Laenge, Breite, Hoehe
Gebaeude meinWolkenkratzer = new Gebaeude(20, 20, 300);
Über die zugehörigen Methoden greifst du auf die Daten zu. Beispiel:
Code:
int aktuelleHoehe = meinWolkenkratzer.getHoehe();
meinBungalow.personGehtInsHaus();
Und komm' nicht auf die Idee, laenge, breite und hoehe "public" zu deklarieren und dann direkt darauf zuzugreifen. Dann gibt's "Mecker" ;-)
wenn man aber z.b. das hauptprogramm in einer klasse und z.b. die gebäudeübersicht in der anderen klasse hat, werden dann die variablen einfach in beiden verwendet?
Ach, noch was: wenn du im Hauptprogramm ein Gebaeude deklarierst
Code:
Gebaeude meinHaus = new Gebaeude(10, 10, 5);
geht der Compiler automatisch davon aus, dass du - zunächst mal im selben Verzeichnis, in dem auch deine main()-Methode zu finden ist (also dein "Hauptprogramm") - eine Datei namens Gebaeude.java hast. Da brauchst du dich weiter gar nicht drum zu kümmern. (aber das steht vermutlich auch in den ersten Kapiteln der Java-Insel...)