Problem beim Compilen meines Codes?

... komplette Frage anzeigen

2 Antworten

Das Problem liegt darin, dass System.Console.Read() tatsächlich einen System.Int32 zurückgibt, aber nur, damit beim erreichen des EOF (End of File) des StandardInput der Wert -1 zurückgegeben werden kann. Ansonsten gibt System.Console.Read() den ASCII-Code des eingegebenen Zeichens zurück.

Damit das ganze wie gewünscht funktioniert (und ggf. auch mehrstellige Zahlen möglich sind) probiere folgendes:

int a = 0;
Console.Write("Wert für a: ");
while(!int.TryParse(Console.ReadLine(), out a)){
Console.Write("Ungültiger Wert.\\r\\nWert für a: ");
}
Console.WriteLine("a hat den Wert {0}", a);

Bei weiteren Fragen zu den hier verwendeten "Dingen" wird empfohlen diese zu stellen. ;)

Antwort bewerten Vielen Dank für Deine Bewertung

int a;

Console.WriteLine("Wert für a: ");

a = Console.Read();

Console.Write(a);

Das ist der Code

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von ralphdieter
18.11.2016, 19:40

Ich kenne zwar Deine Programmiersprache nicht, aber 52 ist der ASCII-Wert des Zeichens '5'.

Console.Read() liefert vermutlich das nächste Zeichen aus der Eingabe als char (0..255).

Console.Write(char(a)) sollte dann wie gewünscht '5' ausgeben.

1

Was möchtest Du wissen?