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.
String mit next()-Methode einlesen - keine Leerzeichen!
Nein, aufgeteilt werden soll der String nicht.. jedenfalls nicht hier
Da ich noch recht neu im Umgang mit Java bin, habe ich einfach mal die Scanner-Klasse zum Einlesen benutzt - erschien mir recht komfortabel.
Welche Klasse bzw. Methode wäre geeigneter, um einen Text mit Leerzeichen in eine String-Variable einzulesen?
Viele Grüße,
Rouven
PS: Das Einloggen vergisst man hier so leicht .. :roll:
macht doch keinen Sinn oder? Wenn du immer komplette Zeilen einlesen willst, dann brauchst du nur s.nextLine() und kannst die erste Anweisung text = s.next() löschen.
macht doch keinen Sinn oder? Wenn du immer komplette Zeilen einlesen willst, dann brauchst du nur s.nextLine() und kannst die erste Anweisung text = s.next() löschen.
Die Zeile "text = s.next();" sollte da nicht stehen :roll: .. sorry!
Ich habe noch ein sehr merkwürdiges Problem..
In einer Testklasse funktioniert der Code wunderbar, eingebaut in meinem Programm dagegen nicht. Eine Zeile lässt sich nicht eingeben, es wird einfach übersprungen und die String-Variable bleibt leer..
Kann es damit etwas zu tun haben, dass die Anweisung "text = s.nextLine();" in einem case einer switch-case-Anweisung liegt?
Andere Anhaltspunkte fallen mir nicht auf... :bahnhof:
import java.util.*;
import java.io.*;
public class Test {
public static void main(String[] args) {
Scanner s = new Scanner(System.in); // Erzeugung eines Scanner-Objekts
String clear_text = "", secret_text = "";
char temp_01 = ' ';
byte value = 0, choice = 0;
// Hier ist ein Auswahlmenü
choice = s.nextByte();
switch(choice) {
case 1:
// Case 1... nicht relevant
break;
case 2:
System.out.println("\n\nType clear text (a-z, A-Z): ");
clear_text = s.nextLine(); // Hier ist die besagte Methode, die nicht funktionieren will..
System.out.println(clear_text);
break;
case 10:
break;
default:
break;
}
}
}
Das ist also ein Ausschnitt aus meinem Programm. Ich habe es stark gekürzt.. so wie es hier steht, funktioniert es nicht... warum ???:L
wozu baust du so ein kompliziertes switch ein?
wenn du an dieser Stelle den Fehler siehst, dann probiere doch erst mal
Code:
import java.util.*;
import java.io.*;
public class Test {
public static void main(String[] args) {
Scanner s = new Scanner(System.in); // Erzeugung eines Scanner-Objekts
String clear_text = "", secret_text = "";
char temp_01 = ' ';
byte value = 0, choice = 0;
// Hier ist ein Auswahlmenü
choice = s.nextByte();
System.out.println("\n\nType clear text (a-z, A-Z): ");
clear_text = s.nextLine(); // Hier ist die besagte Methode, die nicht funktionieren will..
System.out.println(clear_text);
}
}
da tritt der Fehler ja genauso auf..,
das Problem ist, dass noch das Ende der ersten Eingabe gelesen wird, vielleicht das Zeilenumbruchszeichen am Ende..
das sicherste ist, die erste choise auch mit nextLine einzulesen,
ansonsten bisschen probieren (anderer delimiter), generell ein nextLine dazwischenschieben/ ..?