Wie kann ich ne Klasse erstellen die bei Ausführung einen Input verlangt und dann ausgibt "Hallo "+input" ??
Ich hab das mit dem scanner noch nicht richtig verstanden.
was dieser scanner überhaupt ist und was an dem so toll sein soll weiss ich nicht, und bin diesmal auch zu faul, um das in der api endlich mal nachzuschlagen, aber so dürfte es gehen:
Code:
import java.io.*;
public class A{
public static voin main(String[] args){
BufferedReader r=new BufferedReader(new InputStreamReader(System.in));
String s="";
try{
s=r.readLine();
}catch(IOException e){
e.printStackTrace();
}
System.out.println("Hallo "+s);
}
}
kann man da auch noch irgendwie die Bedingung einbauen das der solange fragen soll bis man keine Einfuhr mehr hat oder der einbeführte name ein leerer String ist?
BufferedReader in = new BufferedReader( new InputStreamReader( System.in ) );
String s = "";
while( ( s = in.readline() ) != "" )
{
System.out.println( s );
}
import java.util.*;
public class Hallo{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
String s = "";
while(s = scanner.nextLine() != 0)
{
System.out.println("Hoe heet jij?");
}
System.out.println("Hallo "+scanner.nextLine());
}
}
Also ich will eigentlich nur das er immer wieder fragt "Hoe heet jij?" (Deutsch: wie heisst du?) solange ein leerer String als Input gegeben ist.
Aber irgendwie will das nicht so ganz klappen. ich weiss nicht wo ich die while ansetzen muss. weil er soll ja erst fragen "Hoe heet jij?" und dannach soll erst ne eingabe kommen. Und wenn die nicht korrekt ist (ein leerer string) soll er das nochmal fragen.
1) verwende statt while(){} einfach do{}while(), dann sollte es mit der Reihenfolge wieder hinhauen
2) mit String.split(String pattern) kannst du die Zeichenketten zerlegen
3) was meinst du mit "Signalwort"? was soll damit beginnen? worauf bezieht sich das "es" in dem Satz?
import java.util.*;
public class Hallo{
public static void main(String[] args){
String s = "";
Scanner scanner;
do
{
System.out.println("Hoe heet jij?");
scanner = new Scanner(System.in);
}
while(s.length() == 0);
s = scanner.nextLine();
System.out.println("Hallo "+ scanner.nextLine());
}
}
wenn ich das so mache liefert er mir eine Endlosschleife von "Hoe heet jij?"
wie mach ich die while Bedingung so, dass er das nur solange fragt bis die länge von s > 0 ist? geht das nicht mit s.length() == 0 ?
Ich hab das gefühl der ignoriert dieses "s = scanner.nextLine();" einfahc und lässt String s immer = ""
Mit signal wort mein ich das wenn der Satz z.B. "Ende gut alles gut" heisst dann soll der das "Ende" erkennen und das Programm schließen
was hast du denn erwartet? dieser Aufruf steht doch erst nach der Unendlichschleife, in der du nur die Frage ausgibst, und unsinnigerweise neue Scanner erzeugst. Da die schleife nie endet, kommt es selbstverständlich nie zum aufruf. Die zeile muss natürlich in die schleife rein, die Konstruktion des scanners muss da natürlich raus...
Splitten kannst du, zwei zeichenketten vergelichst du mit String.equals(String other).