Erste Schritte Text Eingabe und Ausgabe mit String?

Jänö

Mitglied
Ich versuche eine kleinfe Begrüßungsbox in Java zu machen, komm aber nicht weiter..
Ich habs so probiert, geht aber nicht. :/
Java:
public class Begrüßung
{
public void Name (String x)
{
System.out.print ("Hallo " + x);
}
}
Kann mir jemand sagen, wie ich das richtig mache?
 
Wir haben heute das erste mal in der Schule Java gemacht, darum kenn ich mich leider noch nicht wirklich aus.
Ich weiß zum Beispiel nicht was eine GUI ist oder wie eine Ausgabe in einer Konsole aussieht.
Ich möchte Das gleiche wie das:
Java:
public class Zahl
{
public void Zahl (int x)
{
System.out.print ("Die eingegebene Zahl ist " + x);
}
}
Nut anstatt int also einer Ganzzahl einen Text eingeben, der dann in einer Box wiedergegeben werden kann.
Keine ahnung ob das eine GUI oder eine Konsole ist.
Ich benutze übrigens BlueJ.
Einfach, dass ich den eingegebenen Text verlinken und wieder ausgeben kann.
 
Hey. Ne GUI ist quasi ein "Programm" (so wie das im Volksmund gesagt wird), also irgendwas was Du sehen kannst, Buttons hat und sich starten lässt. Schau aber auch mal in Google nach, da wirst Du ganz leicht rausfinden können, was ne GUI ist.

Kamst Du denn schon weiter mit Deinem Problem?

Schau auch mal nach wie Du in Java eine Eingabe "abfangen" kannst. Wenn Du das dann mal gemacht hast, kannst Du hier ja mal den Code posten und dann basteln wir Dir ne Klasse zusammen. Erklär Dir dann gern n bisschen was dazu!
 
Ich versuche eine kleinfe Begrüßungsbox in Java zu machen, komm aber nicht weiter..
Ich habs so probiert, geht aber nicht. :/
Java:
public class Begrüßung 
{
public void Name (String x)// <- 
{
System.out.print ("Hallo " + x);
}
}
Kann mir jemand sagen, wie ich das richtig mache?

BlueJ ist eh son Ding für sich, da guckste am besten irgendwelche Videos auf YouTube
Da läuft alles ein bisschen anders als "in der Realität"

Ach und der Fehler liegt hier:

Name ist nur eine Methode die du nie aufrufst.

Es muss heisen

Java:
public class Begruessung 
{
public void Begruessung (String x)// <- das ist der Konstruktor, der automatisch beim erzeugen des Objekts aufgerufen wird, deswegen musst du dich um nichts kümmern
{
System.out.print ("Hallo " + x);
}
}

In Methoden und Klassennamen übrigens keine Sonderzeichen ü,ß,etc verwenden
 
@ Helgon
das ist der Konstruktor, der automatisch beim erzeugen des Objekts aufgerufen wird, deswegen musst du dich um nichts kümmern

Ob er jetzt ne Methode aufruft oder durch Initialisieren eines neuen Objekts den Konstruktor, das ist einem Anfänger glaube ich sch****egal... 😉
 
Das ist mir neu.
Damit wäre dann jedes DOS Programm ein GUI (bzw. hätte eines).

Ich war immer der Meinung, das GUI "Graphical User Interface" heisst. :lol:

Pentalon

Du bist ja schlimmer als die Springer-Presse.. 😉
Wenn Du meinen Satz GANZ zitiert hättest
also irgendwas was Du sehen kannst, Buttons hat und sich starten lässt.
dann schließt das auch Dos aus. Denn hier hab ich noch nie einen Button gesehen... 😉
 
Hi Jänö

Du hast Dein Klasse richtig gemacht.
Das einzige was Dir noch fehlt, ist MAIN, der Programmeinstieg und in ihm die erzeugung Deines Objektes.
Schau Dir einmal das an:

Java:
public class Begruessung
{
	public void Name (String x)
	{
		System.out.print ("Hallo " + x);
	}
	
	public static void main(String[] args) {
		Begruessung b = new Begruessung();
		
		b.Name("Jonny");
	}
}

Der Obere Teil ist unverändert das, was Du gemacht hast. Das war auch richtig so.
Der untere Teil ist die Main in der Dein Objekt mit NEW erzeugt wird, als Referenz in b gespeichert wird und anschliessend die Methode Name verwendet.

Viel Spass beim Programmieren.
Pentalon
 
Du bist ja schlimmer als die Springer-Presse.. 😉
Wenn Du meinen Satz GANZ zitiert hättest

dann schließt das auch Dos aus. Denn hier hab ich noch nie einen Button gesehen... 😉

Ich fand es irgendwie witzig, weil der Volksmund da ins Spiel kam und das Volk hat ja wenig Ahnung von Programmen 🙂
Bitte entschuldige meine freche Bemerkung 😉

Auf jeden Fall weiss der Themenstarter und so mancher andere jetzt was GUI heisst.

Pentalon
 
Soweit ich weiß braucht man die Main in BlueJ nicht.:noe:
Das ruft einfach den Konstruktor auf.

Ahsoooo, das hat er erst in seinem 2ten Posting geschrieben, habs erst jetzt gesehen.
Sorry.

Dann vielleicht so ?

Java:
public class Begruessung
{
	public Begruessung (String x)
	{
		System.out.print ("Hallo " + x);
	}
}

Erscheint mir komisch...

Pentalon
 
Zuletzt bearbeitet:
is ja geil..! 😀

Sicher bin ich mir nicht!

Ich weiß bloß dass ich mal nem Kumpel der BlueJ hat
eine Main von mir gegeben hat, und damit konnt das nix anfangen.

Aber wo genau das startet weiß ich auch nicht,
bloß hatte der Code von ihm keine Main und lief in BlueJ
(und in Eclipse dann natürlich nicht).

Dabei hat er und ich nur eins gelernt: BlueJ ist Rotz.
Auch wenn Eclipse am Anfang kompliziert aussieht,
lieber gleich damit anfangen als alles so komisch zu lernen.:lol:
 
Ich hab alle Möglichkeiten jetzt ausprobiert die oben stehen, aber keine davon funkrioniert. 🙁(
Immer wieder kommt die Meldung:
ERROR: cannot find symbol - variable Jänö
 
Java:
public class Begruessung
{
	public Begruessung(String name) //Kontruktor der Klasse Begruessung erstellen + Variable deklarieren
	{
		System.out.println("Hallo " + name);
	}
	public static void main( String [] args ) // Main Methode
	{
		Begruessung beg = new Begruessung("DeinName"); // Objekt erstellen
	}
}

Dies wäre der richtige Weg.

Der Konstruktor muss den Namen der Klasse haben, da man sonst kein Objekt der Klasse erstellen kann.
Wenn du ein Objekt der main Klasse erstellen willst, musst du dem Konstruktor auch den Namen der main Klasse geben.

Wenn du dem Konstruktor dann noch eine Variable zuweist
Code:
String name
, dann musst du beim erstellen des Objektes auch diese Werte initialisieren.

Edit:
Andere Möglichkeit ->

Java:
public class Begruessung
{
	public Begruessung() //Kontruktor der Klasse Begruessung erstellen + Variable deklarieren
	{
		String name; // Variable deklarieren
        System.out.println("Hallo " + name);
	}
	public static void main( String [] args ) // Main Methode
	{
		Begruessung beg = new Begruessung(); // Objekt erstellen
        beg.name = "DeinName"; // Variable initialisieren
	}
}
 
Zuletzt bearbeitet:
Schrein mal die ganze Ausgabe, die deiner Meinung nach ausgegeben werden muss,

Wenn ich dich richtig Verstehe, sollte es so ausgeben

Code:
javac deinprogramm.java

java starter HansVader

Hallo HansVader

Dann sollte es so aussehen:
Java:
class starter{
	public static void main(String[] args) {
		System.out.println("Hallo" + args[0])
		//Dann dein weiterer Code, nach Begrüssung
	}
}

Ich glaube, so sollte es funktionieren, konnte es nicht testen, da mein SDK verbuggt ist ;(
 
Ich hab alle Möglichkeiten jetzt ausprobiert die oben stehen, aber keine davon funkrioniert. 🙁(
Immer wieder kommt die Meldung:
ERROR: cannot find symbol - variable Jänö



Auch wenn das hier wohl niemals gelesen wird, ist es mir ein Bedürfniss, dir zu antworten und nach all der vergeblichen Mühe hier die Lösung zu geben:
Du wußtest lediglich nicht, dass du beim Ausfüren der Methode deinen Namen in Anführungszeichen ins Eingabefeld schreiben musst, weil er ein String ist.
 

Zurück
Oben