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.
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.