OriginalGriff
Чтобы добавить к тому, что сказал TheRealSteveJudge: вы все равно неправильно используете скобки.
Console.WriteLine("whats 9+45?");
{
if (Answer == 54);
{ Console.WriteLine("{0} {1} is Smart! :D ");
} <===== //it asks me to put a '}' after the'}'
else
{ Console.WriteLine("{0} {1} isn't so Smart :( ");
}
Console.WriteLine("Press Enter to Close");
Button = Console.ReadLine();
}
Вам не нужны внешние скобки набора здесь - они не служат никакой цели. Вы используете их только тогда, когда вы "группируете вместе" операторы для выполнения - в методе, например, цикле или условном операторе. Добавление их "наугад" не делает ваш код более читабельным!
Как новичок, используйте их для каждого условного обозначения и отступа вашего кода:
static void Main(string[] args)
{
Console.WriteLine("what is your name?");
string Name = Console.ReadLine();
Console.WriteLine("what is your family name?");
string Family = Console.ReadLine();
int Answer = 54;
Console.WriteLine("whats 9+45?");
if (Answer == 54)
{
Console.WriteLine("{0} {1} is Smart! :D ");
}
else
{
Console.WriteLine("{0} {1} isn't so Smart :( ");
}
Console.WriteLine("Press Enter to Close");
string Button = Console.ReadLine();
}
Или вот так:
static void Main(string[] args)
{
Console.WriteLine("what is your name?");
string Name = Console.ReadLine();
Console.WriteLine("what is your family name?");
string Family = Console.ReadLine();
int Answer = 54;
Console.WriteLine("whats 9+45?");
if (Answer == 54)
{
Console.WriteLine("{0} {1} is Smart! :D ");
}
else
{
Console.WriteLine("{0} {1} isn't so Smart :( ");
}
Console.WriteLine("Press Enter to Close");
string Button = Console.ReadLine();
}
Обратите внимание, что я переместил определение переменных туда, где вы собираетесь их использовать - это просто облегчает понимание того, что происходит, когда вы их действительно используете. С небольшими методами, подобными этому, это не имеет большого значения, но по мере их роста становится больно пробираться через страницы кода, чтобы найти определение. Это также предотвращает их использование, когда они находятся "вне области действия" и сообщения об ошибках, которые это вызывает.
Кроме того, имена локальных переменных должны начинаться со строчных букв:
static void Main(string[] args)
{
Console.WriteLine("what is your name?");
string name = Console.ReadLine();
Console.WriteLine("what is your family name?");
string family = Console.ReadLine();
int answer = 54;
...
И ваша следующая проблема-это ваши заявления WriteLine:
Console.WriteLine("{0} {1} is Smart! :D ");
}
else
{
Console.WriteLine("{0} {1} isn't so Smart :( ");
}
Вы говорите writeline, чтобы включить переменные значения, но вы не предоставляете переменные! Либо сделайте это:
Console.WriteLine("{0} {1} is Smart! :D ", name, family);
}
else
{
Console.WriteLine("{0} {1} isn't so Smart :( ", name, family);
}
Или вот это
Console.WriteLine($"{name} {family} is Smart! :D ");
}
else
{
Console.WriteLine($"{name} {family} isn't so Smart :( ");
}
Если вы используете последнюю версию Visual Studio.