Problem mit Integer
-
Ich habe eine Integer Variable deklariert und will sie jetzt einlesen
Er gibt mir jedoch eine andere Zahl aus als die die ich eingegeben habe.z.B. Eingegeben: 69
Ausgegeben: 54Wer kann mir helfen
-
dann zeig doch am besten ma den source.
am besten die stellen, wo der fehler auftritt
-
using System;
public class Namenszeug
{
public static void Main()
{
string vorname;
string nachname;
string ort;
string pups;int a;
Console.WriteLine("Bitte ihren Vorname eingeben");
vorname = Console.ReadLine();
Console.WriteLine("Bitte Nachname eingeben");
nachname = Console.ReadLine();
Console.WriteLine("Bitte Ort eingeben");
ort = Console.ReadLine();
//Console.WriteLine("Bitte alter eingeben");
//a = Console.Read();Console.WriteLine("Sie heissen " + vorname + " " + nachname);
Console.WriteLine("Kommen aus " + ort);
//Console.WriteLine("Und sind " + a + " Jahre alt");
pups = Console.ReadLine();}
}
-
Alles was jetzt Kommentar ist funktioniert nicht richtig, außerdem wird dann die letzte Zeile übersprungen.
-
Jeder einfache Datentyp besitzt eine Methode names Parse, die einen String-Wert in den jeweiligen DatenTyp-Wert umwandelt.
Also bei dir:
[cpp]
Console.WriteLine("Bitte alter eingeben");
a = int.Parse( Console.Read() ); [/cpp]
-
Ich würde eher ein TryParse vorschlagen, da der Benutzer nicht immer korrekte Eingaben machen muss.
-
Ich würde eher ReadLine vorschlagen, da die Konsole üblicherweise erst nach dem Return Daten an die Anwendung schickt (dann wird die letzte Zeile auch nicht übersprungen).
-
Das wäre natürlich auch eine Möglichkeit.
-
Nur als Ergänzung: 'Read' gibt den Zeichencode statt des Zahlenwerts zurück, daher die Diskrepanz.
-
@exT
Da hat der Konrad allerdings recht.