Alter überprüfen C#?
Hi, ich habe heute mit C# angefangen und habe etwas Kleines gemacht. Man gibt sein Alter ein, es werden 50 Jahre dazu gerechnet und wenn am Ende 100 Jahre oder mehr hinauskommt, wird etwas ausgegeben. Das Problem ist, es wird immer ausgegeben auch wenn unter 100 hinauskommt.
using System;
using System.ComponentModel;
namespace test
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Wie alt bist du?");
int alter = int.Parse(Console.ReadLine());
Console.WriteLine("\nIn 50 Jahren beträgt dein Alter: "+(alter+50));
int finales_alter = alter + 50;
if (finales_alter>=100);
{
Console.WriteLine("Du bist sehr alt mit " + finales_alter + " Jahren");
}
}
}
}
Danke im Voraus
3 Antworten
Wenn du hier …
if (finales_alter>=100);
… am Ende den Strichpunkt wegnimmst, dann klappt es.
Der beendet nämlich die Anweisung.
Entferne das Semikolon am Ende dieser Zeile:
if (finales_alter>=100);
Es stellt eine leere Anweisung dar. Da ein if als Rumpf auch eine einzelne Anweisung (die keiner Deklaration entspricht) ohne geschweifte Klammern annehmen kann, wird die leere Anweisung als if-Rumpf gewertet. Der Code-Block danach steht für sich separat.
Das nochmal deutlicher: Dies ist beides dasselbe:
if (someCondition == true)
;
if (someCondition == true)
{
;
}
Lass mal die Klammern weg bei
(alter+50)
Dat ändert nix ^^ Das liegt am Semikolon bei if (finales_alter>=100);