Zeilenumbruch mit Scanner erkennen

Sashgah

Mitglied
Guten Morgen zusammen, ich wollte ein Programm schreiben, womit man eine Eingabe mittels des Scanners in einer Zeile mit maximal einer Lücke und keinem Umbruch wiedergeben kann. Dabei habe ich das Problem, dass ich keinen Zeilenumbruch erkennen kann, was dazu führt, dass ich nach '//' nichts mehr wiedergebe. (Das Programm soll die Kommentarfunktionen nutzen können - '/*', '*/' und '//'.)

import java.util.Scanner;

public class Eingabe {

public static String filter(String start, String stop, String skip){

Scanner sc = new Scanner(System.in);

String eingabe = "";
String n = "";
boolean tfstart = false;
boolean tfskip = false;

while(sc.hasNext()){
n = sc.next();
if(n.equals(start) || tfstart == true){
tfstart = true;
if(n.equals(stop))
tfstart = false;
}
else if(n.equals(skip) || tfskip == true){
tfskip = true;
if(n.equals("\n")) // Ich muss hier prüfen können ob ein Zeilenumbruch
tfskip = false; // "eingegeben" wurde
}
else
eingabe += n + " ";
}
return eingabe;
}
public static void main(String [] args){
System.out.println(filter("/*","*/","//"));
}
}

Aus:
/*
* Programm: gibt "Hi!" aus
*/
public class Hi {
public static void main(String[] args) {
// Ausgabe der Nachricht
System.out.println("Hi!");
}
}
soll also:
public class Hi { public static void main(String[] args) { System.out.println("Hi!"); } }
werden.
 

Sashgah

Mitglied
Mein skip soll '//' realisieren können, also alles was nach '//' kommt ignorieren und in der nächsten Zeile wieder normal lesen. Stand jetzt wird alles was nach '//' kommt ignoriert.
 

Sashgah

Mitglied
Ja, halt wie bei dem normalen Kommentar, aber bei mir ignoriert der nicht nur die restliche Zeile, sondern den kompletten Rest.

ausgeben // nicht mehr ausgeben
ausgeben // nicht mehr ausgeben

Bei mir ist es aber leider:
ausgeben // nicht mehr ausgeben
nicht mehr ausgeben // nicht mehr ausgeben
 

truesoul

Top Contributor
Java:
Scanner s = new Scanner(System.in);

while (s.hasNext()) {
    String text = s.nextLine();

    int indexOf = text.indexOf("//");

    if (indexOf > 0) {
        System.out.println(text.substring(0, indexOf));
    } else {
        System.out.println(text);
    }

}

Du musst nextLine() verwenden
 

Sashgah

Mitglied
Danke, das war der entscheidende Tip. :)
Nun klappt alles.

import java.util.Scanner;

public class Eingabe {

public static void filter(String start, String stop, String skip){

Scanner sc = new Scanner(System.in);

String eingabe = "";
boolean tfstart = false;
boolean tfskip = false;
String text = "";
int indexOfStart = 0;
int indexOfStop = 0;
int indexOfSkip = 0;
String tmp = "";
int count = 0;

while(sc.hasNextLine()){

text = sc.nextLine();
indexOfStart = text.indexOf(start);
indexOfStop = text.indexOf(stop);
indexOfSkip = text.indexOf(skip);

if(text.contains(start) && text.contains(stop) && indexOfSkip >= indexOfStop){
eingabe += text.substring(0, indexOfStart);
eingabe += text.substring(indexOfStop + stop.length(), indexOfSkip);
}
else if(text.contains(start) && text.contains(stop)){
eingabe += text.substring(0, indexOfStart);
eingabe += text.substring(indexOfStop + stop.length(), text.length());
}
else if(text.contains(start)){
eingabe += text.substring(0, indexOfStart);
tfstart = true;
}
else if(text.contains(stop) && tfstart == true){
eingabe += text.substring(indexOfStop + stop.length(), text.length());
tfstart = false;
}
else if(tfstart == true)
continue;
else if(indexOfSkip >= 0)
eingabe += text.substring(0, indexOfSkip);
else if(text.equals(""))
continue;
else
eingabe += text + " ";
}

for (int i = 1; i <= eingabe.length(); i++){
tmp += eingabe.substring(i - 1, i);
if(eingabe.substring(i - 1, i).equals(" ")){
count++;
if(count == 2){
tmp = tmp.substring(0, tmp.length() - 1);
count = 1;
}
}
else if(count == 1 && !eingabe.substring(i - 1, i).equals(" "))
count = 0;
else
continue;
}
System.out.println(tmp);
}
}
 

Bible Man

Mitglied
Hier teile ich meine etwas kürzere Version.

[CODE lang="java" title="Eingabe"]import java.util.Scanner;
import java.io.PrintStream;
public class Eingabe {
public static int filter(Scanner sc, PrintStream ps,
String start, String stop, String skip) {
String zeile = "";
String wort = "";
Scanner scWort;
int c = 0;
boolean write = true;
while (sc.hasNext()) {
// Die Eingabe zeilenweise einlesen
zeile = sc.nextLine();
scWort = new Scanner(zeile);
// Die Zeilen wortweise einlesen
while (scWort.hasNext()) {
wort = scWort.next();
// Bei start wird "write" verboten
if (wort.equals(start)) {
write = false;
}
// Bei skip wird, falls "write" erlaubt ist, die ganze Zeile verworfen
if (write && wort.equals(skip)) {
break;
}
// Das Wort wird nur gespeichert, wenn "write" erlaubt ist
if (write) {
ps.append(wort + " ");
++c;
}
// Bei stop wird "write" wieder erlaubt
if (wort.equals(stop)) {
write = true;
}
}
scWort.close();
}
ps.append("\n");
return c;
}
}[/CODE]
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
JavaBeginner22 TextArea, ohne Zeilenumbruch? Java Basics - Anfänger-Themen 4
JUNSKI Zeilenumbruch JLabel Java Basics - Anfänger-Themen 1
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
Dawinartor Klassen Zeilenumbruch in JOptionPane.showMessageDialog Java Basics - Anfänger-Themen 8
S \n nicht in Zeilenumbruch umwandeln Java Basics - Anfänger-Themen 5
M Zeilenumbruch ab der 10. Zahl Java Basics - Anfänger-Themen 11
C Stringbuffer auf Zeilenumbruch überprüfen Java Basics - Anfänger-Themen 14
F StringBuilder: Zeilenumbruch nach x Zeichen ohne Worttrennung Java Basics - Anfänger-Themen 1
C Zeilenumbruch für langes Strings Java Basics - Anfänger-Themen 2
I Zeilenumbruch im mailto-body Java Basics - Anfänger-Themen 5
D Zeilenumbruch- .txt-Ausgabedatei Java Basics - Anfänger-Themen 10
AssELAss Xml nur nach End-Tag Zeilenumbruch?? Java Basics - Anfänger-Themen 7
A Zeilenumbruch im Code Java Basics - Anfänger-Themen 5
E Zeilenumbruch!? Java Basics - Anfänger-Themen 3
A Zeilenumbruch im Jlabel Java Basics - Anfänger-Themen 11
M ArrayList || Bei Ausgabe nach jedem 10. Eintrag Zeilenumbruch Java Basics - Anfänger-Themen 7
M Zeilenumbruch in JLabel Java Basics - Anfänger-Themen 51
M Zeilenumbruch in JTextarea Java Basics - Anfänger-Themen 4
J Input/Output Datei - Zeilenumbruch einlesen Java Basics - Anfänger-Themen 10
B Zeilenumbruch (zweidim. Matrix) Java Basics - Anfänger-Themen 2
N Denkanstoß Zeilenumbruch Java Basics - Anfänger-Themen 9
M Zeilenumbruch JTextPane Java Basics - Anfänger-Themen 2
C jTable in .txt - versteckter Zeilenumbruch? Java Basics - Anfänger-Themen 6
T Datentypen Zeilenumbruch im String (2-dimensionales array) Java Basics - Anfänger-Themen 4
D Zeilenumbruch für XMl File Java Basics - Anfänger-Themen 3
C Zeilenumbruch verhindern / Clrscr ? Java Basics - Anfänger-Themen 3
T System.out.printf Zeilenumbruch nach x Stellen Java Basics - Anfänger-Themen 4
A Abfrage Zeilenumbruch+.+Zeilenumbruch Java Basics - Anfänger-Themen 17
c_sidi90 jTextarea kein Zeilenumbruch erlauben Java Basics - Anfänger-Themen 4
O TxT Zeilenumbruch Java Basics - Anfänger-Themen 4
E Zeilenumbruch von String schneiden Java Basics - Anfänger-Themen 13
E Zeilenumbruch in JButton mit Variable Java Basics - Anfänger-Themen 2
M Zeilenumbruch nach x Zeichen Java Basics - Anfänger-Themen 8
C textfield zeilenumbruch Java Basics - Anfänger-Themen 2
chik Zeilenumbruch in einem JLabel Java Basics - Anfänger-Themen 6
M "spezieller" Zeilenumbruch beim Kopieren Java Basics - Anfänger-Themen 3
S Zeilenumbruch awt.textarea Java Basics - Anfänger-Themen 16
M BufferedReader.readline() Unix/Windows Zeilenumbruch Java Basics - Anfänger-Themen 4
J Zeilenumbruch in Java Java Basics - Anfänger-Themen 2
J Zeilenumbruch in Java zwischen zwei Strings Java Basics - Anfänger-Themen 6
G Problem mit Zeichen Zeilenumbruch sieht aus wie(Eckige Null) Java Basics - Anfänger-Themen 4
V Zeilenumbruch bei der Eingabe verhindern Java Basics - Anfänger-Themen 6
W Text mit Zeilenumbruch zeichnen? Java Basics - Anfänger-Themen 5
S Weicher Zeilenumbruch? Java Basics - Anfänger-Themen 2
M Konsolenausgabe ohne Zeilenumbruch Java Basics - Anfänger-Themen 3
G Zeilenumbruch in einem String Java Basics - Anfänger-Themen 21
0 Zeilenumbruch funktioniert nicht Java Basics - Anfänger-Themen 4
N automatischer Zeilenumbruch Java Basics - Anfänger-Themen 3
N zeilenumbruch einfügen Java Basics - Anfänger-Themen 3
B Char Feld -> "Zeilenumbruch" Java Basics - Anfänger-Themen 5
M Am Ende eines Strings den Zeilenumbruch entfernen Java Basics - Anfänger-Themen 1
K Zeilenumbruch entfernen aus datei ?!?!? Java Basics - Anfänger-Themen 18
R Zeilenumbruch in einer Datei Java Basics - Anfänger-Themen 8
M sting komplett bearbeiten und nicht nach zeilenumbruch ende Java Basics - Anfänger-Themen 3
G Zeilenumbruch Java Basics - Anfänger-Themen 20
M JLabel - Zeilenumbruch Java Basics - Anfänger-Themen 2
G Automatischer Zeilenumbruch bei einer TextArea Java Basics - Anfänger-Themen 16
G Zeilenumbruch in String variable Java Basics - Anfänger-Themen 4
F Zeilenumbruch Java Basics - Anfänger-Themen 9
L Plattformunabhängiger Zeilenumbruch Java Basics - Anfänger-Themen 2
G Zeilenumbruch aus String entfernen ? Java Basics - Anfänger-Themen 13
J neuer Zeilenumbruch in Datei Java Basics - Anfänger-Themen 7
L Zeilenumbruch Java Basics - Anfänger-Themen 3
D zeilenumbruch feststellen Java Basics - Anfänger-Themen 8
D zeilenumbruch EOF Java Basics - Anfänger-Themen 2
D ausgabe verändern (statt zeilenumbruch leerzeichen) Java Basics - Anfänger-Themen 2
B In einem Label "Zeilenumbruch" Java Basics - Anfänger-Themen 4
T BufferedWriter Zeilenumbruch Java Basics - Anfänger-Themen 2
P Borland Jbuilder X - Zeilenumbruch im Source Code ? Java Basics - Anfänger-Themen 2
D FileWriter write? Zeilenumbruch ? Java Basics - Anfänger-Themen 4
T JTable, DB, Zeilenumbruch Java Basics - Anfänger-Themen 25
K Zeilenumbruch in Datei schreiben Java Basics - Anfänger-Themen 2
V Zeilenumbruch in Tooltips Java Basics - Anfänger-Themen 13
T readLine ohne anschließenden Zeilenumbruch? Java Basics - Anfänger-Themen 2
G wie 'tabs' und 'zeilenumbruch' in textfile einbauen? Java Basics - Anfänger-Themen 5
G gesteuerter Zeilenumbruch Java Basics - Anfänger-Themen 2
G jEditorPane: inhalt ohne zeilenumbruch darstellen. wie? Java Basics - Anfänger-Themen 3
D Zeilenumbruch & Überschrift Java Basics - Anfänger-Themen 12
N Zeilenumbruch im StringTokenizer?? Java Basics - Anfänger-Themen 4
B Zeilenumbruch blos wie? Java Basics - Anfänger-Themen 4
M Zeilenumbruch im Textfeld Java Basics - Anfänger-Themen 5
G automatischer Zeilenumbruch Java Basics - Anfänger-Themen 5
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
M Scanner Input mit if überprüfen Java Basics - Anfänger-Themen 5
D Scanner Java Basics - Anfänger-Themen 2
T scanner nicht erkannt Java Basics - Anfänger-Themen 3
T scanner eingaben erkennen und umtauschen Java Basics - Anfänger-Themen 4
Ostkreuz Int Scanner auf Enter Eingabe prüfen Java Basics - Anfänger-Themen 4
H Scanner nextLine() bringt Dateipfad Java Basics - Anfänger-Themen 1
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
Jul1n4tor Programm mit Scanner und If-Statements Java Basics - Anfänger-Themen 2
I Scanner Loop Java Basics - Anfänger-Themen 1
J Scanner cannot be resolved to a type Java Basics - Anfänger-Themen 3
C Scanner und If-Anweisung in Kombi Java Basics - Anfänger-Themen 3
X Erste Schritte Scanner eingabe wird übersprungen Java Basics - Anfänger-Themen 4
T j.u.Scanner(Sys.in).nextLine() wieder schließen? Java Basics - Anfänger-Themen 5
J Erste Schritte Scanner Java Basics - Anfänger-Themen 4
P Mit dem Scanner Klassen aufrufen Java Basics - Anfänger-Themen 3
javapingu Endlosschleife bei User Input mit try Scanner Java Basics - Anfänger-Themen 7
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben