Hui, hat ne Weile gedauert, bis ich gerafft hab, was das Programm überhaupt machen soll. Gut, ich habs mal eben durch den Debugger gejagt. Die Abfrage endet nicht, weil c nicht -1 wird, sondern nach Abarbeiten des Strings 10 (LF, Linefeed) wird. Außerdem wird c am Ende des Programms immer 13 (CR, Carriage Return, "Zum Zeilenanfang") angehängt.
Ich hab das Programm mal soweit korrigiert, damit es den Sinn erfüllt, den du mMn bezwecken willst. Nicht schön, aber funzt.
PHP-Code:
public class Zeichen
{
public static void main (String[] args) throws Exception
{
int c = 0;
int anzahl = 0;
while (c != 10)
{
System.out.print ("Vor read()");
c = System.in.read();
System.out.print ("nNach read()");
if (c != 10)
{
System.out.println ("nASCII-Code: " + c + " Zeichen: " + (char) c);
anzahl = anzahl + 1;
System.out.println ("Ende der if-Schleife.");
}
}
anzahl=anzahl-1;
System.out.print ("Anzahl: " + anzahl);
}
}
Btw, interessant, dass das Forum das "\n" nicht zu mögen scheint.