Main Ziel ist es, das Einlesen von Text sowohl über den Input5-Redirect als auch direkt über die Standardeingabe gleichwermaßen zu ermöglichen.
Ich will also Text in die Standardeingabe eingeben - jede Zeile soll dann ausgedruckt werden -, und sobald ich eine Zeile eingebe, die nur das Wort "Ende" enthält, soll das Programm terminieren. Hier der Code:
Problem: Er druckt nur manche Zeilen aus, andere wiederum nicht, und ich verstehe nicht, wieso er nur einige Zeilen ausdruckt.
Ich Wenn cih "Ich" eingebe...
Ich ...druckt er es.
habe ..."habe" druckt er nicht.
einen
einen
Text ..."Text" auch nicht.
Was ist falsch?
Ich will also Text in die Standardeingabe eingeben - jede Zeile soll dann ausgedruckt werden -, und sobald ich eine Zeile eingebe, die nur das Wort "Ende" enthält, soll das Programm terminieren. Hier der Code:
Java:
import java.io.*;
import java.util.regex.*;
import java.util.Scanner;
public class Test
{
public static void main(String[] args)throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
System.out.println(s);
Matcher m = Pattern.compile("Ende").matcher(s);
while(! m.matches() && br.readLine() != null) {
s = br.readLine();
System.out.println(s);
m = Pattern.compile("Ende").matcher(s);
}
}
}
Problem: Er druckt nur manche Zeilen aus, andere wiederum nicht, und ich verstehe nicht, wieso er nur einige Zeilen ausdruckt.
Ich Wenn cih "Ich" eingebe...
Ich ...druckt er es.
habe ..."habe" druckt er nicht.
einen
einen
Text ..."Text" auch nicht.
Was ist falsch?