首页 > 解决方案 > 此代码不应该有错误。我不知道为什么这不起作用

问题描述

我的编码老师给了我作业来构建 ba 工作代码。所以我做了,当我运行它时它说有一个错误。我找不到,我的老师也找不到。所以我妈妈建议在这里问一下,看看我们是否搞砸了。对不起,如果我有拼写错误,我还在学习英语。Ps 我正在学习语言 c#。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

namespace Dcoder
{
    public class Program
    {
        public static void Main(string[] args)
        {
            string sibling1; 
            string sibling2;
            int age_sibling1; 
            int age_sibling2;
            Console.WriteLine( " insert your name and your age " );
            sibling1 = string Console.ReadLine();
            age_sibling1 = int.Parse(Console.ReadLine());
            Console.WriteLine( " insert your sibrlings name and age " );
            sibling2 = string Console.ReadLine();
            age_sibling2 = int.Parse(console.ReadLine());         
            if (age_sibling1 > age_sibling2);
            Console.WriteLine(sibling1 + " is bigger " );
            Else;
            if (age_sibling2 > age_sibling1);
            Console.WriteLine(sibling2 + " is bigger " );
        }
    }
}

标签: c#

解决方案


对您的代码进行了一些更改。一些建议:如果用户不输入数字,Int.Parse 会抛出异常。我建议使用 try/catch 或Int32.TryParse

另一件事是,如果您使用变量 1、变量 2、变量 3 等,是时候创建一个方法并避免使用变量 N。

string sibling1, sibling2;
        int age_sibling1, age_sibling2;
        Console.WriteLine("Insert sibling 1 name ");

        sibling1 = Console.ReadLine();
        Console.WriteLine("Insert sibling 1 age ");

        age_sibling1 = int.Parse(Console.ReadLine());
        Console.WriteLine("Insert sibling 2 name ");

        sibling2 = Console.ReadLine();
        Console.WriteLine("Insert sibling 2 age ");

        age_sibling2 = int.Parse(Console.ReadLine());

        if (age_sibling1 > age_sibling2)
            Console.WriteLine($"{sibling1} is bigger ");
        else
            Console.WriteLine($"{sibling2} is bigger ");

        // Wait for user.
        Console.ReadKey();

推荐阅读