Zitat: |
int a = Convert.ToInt32(Console.ReadLine()); |
Und was passiert, wenn "a2#xyz!" eingegeben wird? Wie willst du das als Zahl verrechnen? Sebastian hat dir eine andere Lösung genannt und aufgeschrieben. Ich möchte dasselbe aufteilen
C#-Quelltext
1: 2: 3: 4: 5:
| string input = Console.ReadLine(); int MyValue = 0; if ( int.TryParse(input, out MyValue) ) { } |
Aber du hast viel grundsätzlichere Probleme. Du musst
schrittweise vorgehen.
- Ich muss einen ersten Wert eingeben.
- Dieser Wert muss (soweit möglich) in eine Zahl konvertiert werden.
- Dann brauche ich den zweiten Wert.
- Auch der ist zu konvertieren.
- Dann prüfe ich die erste Bedingung.
- Wenn sie erfüllt ist, dann kann ich das Ergebnis ausgeben.
- Andernfalls prüfe ich die zweite Bedingung.
- usw.
Wenn du mit deinen Anweisungen und Code-Schnipseln hin- und herspringst, kannst du nicht sinnvoll vorankommen.
Wenn du von Hamburg nach Köln fahren willst, steigst du auch nicht als erstes in Osnabrück in den Zug, kaufst dann in Bremen die Fahrkarte und steigst in Dortmund aus.
Außerdem musst du berücksichtigen, wo etwas
gemacht wird und wo etwas
abgefragt wird. Bei WriteLine() sagst du dem Computer etwas; aber das Ergebnis interessiert dich nicht weiter; du gehst einfach davon aus, dass der Text wirklich geschrieben wird. Bei ReadLine() willst du das Ergebnis haben und weiterverarbeiten; also brauchst du eine
Zuweisung dieses Textes an eine Variable (bei mir input). WriteLine() hat den
Rückgabewert void, ReadLine() liefert einen string zurück.
Schließlich musst du noch den
Geltungsbereich von Variablen berücksichtigen. Wenn die Festlegung "int i" gelöscht wird, kannst du die Variable i nicht benutzen. Woher soll der Compiler wissen, was du damit meinst?
Du musst wirklich alles von Anfang an lernen. Dazu hatte ich schon einmal auf das
OpenBook hingewiesen. Jürgen