需要额外的括号吗?

Extra brackets expected?

以下:

if (parseok == false)
{
    Console.WriteLine("Error : Please enter valid numeric Value ");
    Console.ReadLine();
    Environment.Exit(0);
}
//Is currently working fine, however, I am wanting to change the if statement to a while loop - for error checking purposes. When I change the code to this :

while (parseok == false)
{
    Console.WriteLine("Error : Please enter valid numeric Value ");
    Console.ReadLine();
    Console.Write("Please enter minutes for your first run:    ");
    parseok = int.TryParse(Console.ReadLine(), out run1m);
}
//I am recieveing an error message saying that I'm missing a close bracket, when I add the close bracket the whole program becomes riddled with errors. What am I forgetting to do?

//I will add the entire project's code : 

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace ConsoleApp1
    {
        class Program
        {
            //Ajdin Karahodzic 
            //ID : KARAD1301

        static void Main(string[] args)
        {
            String membertype = "";

            //Declaration of Variables 
            string name = "";
            string member = "";
            string gender = "";
            int run1m = 0;
            int run1s = 0;
            int run2m = 0;
            int run2s = 0;
            int run3m = 0;
            int run3s = 0;
            int run1total = 0;
            int run2total = 0;
            int run3total = 0;
            int totalsecs = 0;
            int avgsecs = 0;
            int hours = 0;
            int minutes = 0;
            int seconds = 0;
            bool parseok = false;
            string menu = "";
            int run1tempS = 0;
            int run1tempM = 0;
            int run1tempH = 0;
            int run2tempS = 0;
            int run2tempM = 0;
            int run2tempH = 0;
            int run3tempS = 0;
            int run3tempM = 0;
            int run3tempH = 0;

            while (menu != "x")
            {
                Console.WriteLine("Please choose from the following : ");
                Console.WriteLine("Enter Runner Details (R) : ");
                Console.WriteLine("Enter run times (T) : ");
                Console.WriteLine("Display runner results (D) : ");
                Console.WriteLine("Exit the program (X) ");
                menu = Console.ReadLine();

                switch (menu)
                {
                    //CLOSE PROGRAM SWITCH
                    case "x":
                    case "X":
                        Environment.Exit(0);
                        break;

                    //ENTER RUNNER DATA SWITCH
                    case "r":
                    case "R":
                        Console.Write("Please enter your name:               ");
                        name = Console.ReadLine();

                    while (string.IsNullOrEmpty(name))
                    {
                        Console.WriteLine("Error : Please ensure you have entered your name, press enter to continue ");
                        Console.ReadLine();
                        Console.Write("Please enter your name:               ");
                        name = Console.ReadLine();
                    }

                    Console.Write("Please enter your  membership number: ");
                    member = Console.ReadLine();
                    while (member.Length != 5)
                    {
                        Console.WriteLine("Error : Membership number must be 5 characters long, press enter to continue ");
                        Console.ReadLine();
                        Console.Write("Please enter your  membership number: ");
                        member = Console.ReadLine();
                    }
                    char first = member[0];
                    while (first != 'o' && first != 'O' && first != 's' && first != 'S' && first != 'j' && first != 'J' && first != 'C' && first != 'c')
                    {
                        Console.WriteLine("Error : Membership number must begin with O, S, J or C, press enter to continue ");
                        Console.ReadLine();
                        Console.Write("Please enter your  membership number: ");
                        member = Console.ReadLine();
                    }
                    if (first == 'o' || first == 'O')
                    {
                        membertype = "Ordinary Member";
                    }
                    else if (first == 's' || first == 'S')
                    {
                        membertype = "Student Member";
                    }
                    else if (first == 'j' || first == 'J')
                    {
                        membertype = "Junior Member";
                    }
                    else if (first == 'c' || first == 'C')
                    {
                        membertype = "Child Member";
                    }
                    string response = "";
                    Console.Write("Please enter your gender (m) or (f) : ");
                    response = Console.ReadLine();
                    gender = response;
                    while (gender != "m" && gender != "M" && gender != "f" && gender != "F")
                    {
                        Console.WriteLine("Error : Gender must be either : M / m (For Male) or F / f (For Female), press enter to continues ");
                        Console.ReadLine();
                        Console.Write("Please enter your gender (m) or (f) : ");
                        response = Console.ReadLine();
                        gender = response;
                    }
                    break;

                    //ENTER RUN TIMES - SWITCH
                    case "T":
                    case "t":
                    //Prompt for user input; collect and store data.
                    /*---------RUN 1 INPUT---------
                      -----------------------------*/
                    //MINUTES
                    Console.Write("Please enter minutes for your first run:    ");
                    parseok = int.TryParse(Console.ReadLine(), out run1m);
                    while (parseok == false)
                    {
                        Console.WriteLine("Error : Please enter valid numeric Value ");
                        Console.ReadLine();
                        Console.Write("Please enter minutes for your first run:    ");
                        parseok = int.TryParse(Console.ReadLine(), out run1m);
                    }
                    else if (run1m < 15 || run1m > 180)
                    {
                        Console.WriteLine("Error : Minutes cannot be less than 15 or greater than 180");
                        Console.ReadLine();
                        Environment.Exit(0);
                    }
                    //SECONDS
                    Console.Write("Please enter seconds for your first run:    ");
                    parseok = int.TryParse(Console.ReadLine(), out run1s);
                    if (parseok == false)
                    {
                        Console.WriteLine("Error : Please enter valid numeric Value ");
                        Console.ReadLine();
                        Environment.Exit(0);
                    }
                    else if (run1s < 0 || run1s > 59)
                    {
                        Console.WriteLine("Error : Seconds must be between 0 and 59 ");
                        Console.ReadLine();
                        Environment.Exit(0);
                    }
                    Console.WriteLine();
                    /*---------RUN 2 INPUT---------
                      ------------------------------*/
                    Console.Write("Please enter minutes for your second run:   ");
                    parseok = int.TryParse(Console.ReadLine(), out run2m);
                    if (parseok == false)
                    {
                        Console.WriteLine("Error : Please enter valid numeric Value ");
                        Console.ReadLine();
                        Environment.Exit(0);
                    }
                    else if (run2m < 15 || run2m > 180)
                    {
                        Console.WriteLine("Error : Minutes cannot be less than 15 or greater than 180");
                        Console.ReadLine();
                        Environment.Exit(0);
                    }
                    Console.Write("Please enter seconds for your second run:   ");
                    run2s = int.Parse(Console.ReadLine());
                    if (parseok == false)
                    {
                        Console.WriteLine("Error : Please enter valid numeric Value ");
                        Console.ReadLine();
                        Environment.Exit(0);
                    }
                    else if (run2s < 0 || run2s > 59)
                    {
                        Console.WriteLine("Error : Seconds must be between 0 and 59 ");
                        Console.ReadLine();
                        Environment.Exit(0);
                    }
                    Console.WriteLine();
                    /*---------RUN 3 INPUT---------
                     ------------------------------*/
                    Console.Write("Please enter minutes for your third run:    ");
                    parseok = int.TryParse(Console.ReadLine(), out run3m);
                    if (parseok == false)
                    {
                        Console.WriteLine("Error : Please enter valid numeric Value ");
                        Console.ReadLine();
                        Environment.Exit(0);
                    }
                    else if (run3m < 15 || run3m > 180)
                    {
                        Console.WriteLine("Error : Minutes cannot be less than 15 or greater than 180");
                        Console.ReadLine();
                        Environment.Exit(0);
                    }
                    Console.Write("Please enter seconds for your third run:    ");
                    run3s = int.Parse(Console.ReadLine());

                    if (parseok == false)
                    {
                        Console.WriteLine("Error : Please enter valid numeric Value ");
                        Console.ReadLine();
                        Environment.Exit(0);
                    }
                    else if (run3s < 0 || run3s > 59)
                    {
                        Console.WriteLine("Error : Seconds must be between 0 and 59 ");
                        Console.ReadLine();
                        Environment.Exit(0);
                    }
                    Console.WriteLine();
                    break;
                    case "d":
                    case "D":
                    // CALCULATIONS
                    //Converting individual run times to seconds
                    run1total = (run1m * 60) + run1s;
                    run2total = (run2m * 60) + run2s;
                    run3total = (run3m * 60) + run3s;
                    //Convert individual times to hours, mins, secs.
                    // RUN1
                    run1tempS = (run1total % 60);
                    run1tempM = ((run1total / 60) % 60);
                    run1tempH = ((run1total / 3600) % 60);
                    // RUN2
                    run2tempS = (run2total % 60);
                    run2tempM = ((run2total / 60) % 60);
                    run2tempH = ((run2total / 3600) % 60);
                    // RUN3
                    run3tempS = (run3total % 60);
                    run3tempM = ((run3total / 60) % 60);
                    run3tempH = ((run3total / 3600) % 60);
                    //Calculate average time
                    totalsecs = (run1total + run2total + run3total);
                    avgsecs = (totalsecs / 3);
                    seconds = (avgsecs % 60);
                    minutes = ((avgsecs / 60) % 60);
                    hours = ((avgsecs / 3600) % 60);
                    //Display results
                    Console.WriteLine();
                    Console.WriteLine("==========================================================================");
                    Console.WriteLine("10 Km results for: ");
                    Console.WriteLine("{0} [{1}] - {2}, {3}  ", name, member, membertype, gender.ToUpper());
                    Console.WriteLine("Run 1 - {0} hr(s) {1} min(s) {2} sec(s). ", run1tempH, run1tempM, run1tempS);
                    Console.WriteLine("Run 2 - {0} hr(s) {1} min(s) {2} sec(s). ", run2tempH, run2tempM, run2tempS);
                    Console.WriteLine("Run 3 - {0} hr(s) {1} min(s) {2} sec(s). ", run3tempH, run3tempM, run3tempS);
                    Console.WriteLine();
                    Console.WriteLine("Average 10km run time is : {0} hours {1} minutes {2} seconds. ", hours, minutes, seconds);
                    break;
                    default:
                      Console.WriteLine("Incorrect input, please try again ");
                      break;
                }
                Console.ReadLine();
            }
        }
    }
}

你的问题是剩下的

else

第 163 行。删除允许代码编译,但我不打算验证行为。

在第 161 行你正在做一个 else if 但是你没有指定任何 if.

我不知道你在代码中做了什么。但是要么删除 else if 语句中的 else ,要么在 else if.

之前创建一个 if 语句

else if 语句出现在 if 语句或 else if 语句之后,并且不能是比较中的第一个。

解决方案示例 所以通过在 else if 之前添加一个 if 将解决问题。 (注意我现在不知道你的程序需要做什么,所以你需要检查你必须做什么条件检查。)