C# 模块化程序有问题。仅运行一行(无错误消息。\u

C# 模块化程序有问题。仅运行一行(无错误消息。\u,c#,debugging,module,C#,Debugging,Module,我正在做一个模块化的程序,计算应缴所得税。在我看来这是有道理的,但我的程序只运行一行代码,然后就停止了。。。没有错误消息,什么都没有。我觉得这和CalculateTaxDue类中的while循环有关 该计划必须: a) 从用户处获取有效输入(在一个类中) b) 计算应付税款(在另一类中) c) 显示用户输入的应纳税所得额、根据统一税率计算的应纳税额、根据可变百分比计算的应纳税额以及应纳税总额(在另一个类别中) 这是我到目前为止的计划。我觉得它应该运行正常,但它不能 class Program {

我正在做一个模块化的程序,计算应缴所得税。在我看来这是有道理的,但我的程序只运行一行代码,然后就停止了。。。没有错误消息,什么都没有。我觉得这和CalculateTaxDue类中的while循环有关

该计划必须: a) 从用户处获取有效输入(在一个类中) b) 计算应付税款(在另一类中) c) 显示用户输入的应纳税所得额、根据统一税率计算的应纳税额、根据可变百分比计算的应纳税额以及应纳税总额(在另一个类别中)

这是我到目前为止的计划。我觉得它应该运行正常,但它不能

class Program
{
    static void Main(string[] args)
    {
        // declare variables
        double taxableIncome, incomeTaxDue, flatRate, variablePercentage;

        // get user input
        taxableIncome = GetTaxableInput.GetDouble("Please enter your total income: ");

        // calculate tax due
        incomeTaxDue = CalculateTaxDue.GetTaxableIncome(taxableIncome);

        // display taxable income
        DisplayTaxRate.DisplayTaxableIncome("Your total income is: ", taxableIncome);

        // display flat rate
        flatRate = CalculateTaxDue.GetFlatRate(taxableIncome);
        DisplayTaxRate.DisplayFlatRate("Your tax rate is: ", flatRate);

        // display variable percentage
        variablePercentage = CalculateTaxDue.GetVariablePercentage(taxableIncome);
        DisplayTaxRate.DisplayVariablePercentage("Your variable percentage is: ", variablePercentage);

        // display total tax due
        DisplayTaxRate.DisplayTotalTaxDue("Your total income tax due is: ", incomeTaxDue);

        // keep console open
        Console.ReadLine();
    }
}

class GetTaxableInput
{
    public static double GetDouble(string message)
    {
        // declare variable
        double result;
        // ask for input
        Console.Write(message);
        // capture and validate the user input
        while (!double.TryParse(Console.ReadLine(), out result))
        {
            Console.WriteLine("Invalid input ");
            Console.Write(message);
        };
        return result;
    }
}

class CalculateTaxDue
{
    public static double GetTaxableIncome(double taxableIncome)
    {
        double incomeTaxDue;
        double flatRate;
        double variablePercentage;

        // calculate and return total income tax due.
        while (!double.TryParse(Console.ReadLine(), out incomeTaxDue))
        {

            if (taxableIncome < 0)
            {
                flatRate = 0;
                variablePercentage = 0;
                incomeTaxDue = taxableIncome * variablePercentage + flatRate;
            }
            else if (taxableIncome < 49999)
            {
                variablePercentage = 0.05;
                flatRate = 0;
                incomeTaxDue = taxableIncome * variablePercentage + flatRate;
            }
            else if (taxableIncome < 99999)
            {
                variablePercentage = 0.07;
                flatRate = 2500;
                incomeTaxDue = taxableIncome * variablePercentage + flatRate;
            }
            else if (taxableIncome > 100000)
            {
                variablePercentage = 0.09;
                flatRate = 6000;
                incomeTaxDue = taxableIncome * variablePercentage + flatRate;
            }
        }
        return incomeTaxDue;
    }

    // calculate and return the tax rate
    public static double GetFlatRate(double taxableIncome)
    {
        double incomeTaxDue;
        double flatRate;
        double variablePercentage;

        while (!double.TryParse(Console.ReadLine(), out flatRate))
        {

            if (taxableIncome < 0)
            {
                flatRate = 0;
                variablePercentage = 0;
                incomeTaxDue = taxableIncome * variablePercentage + flatRate;
            }
            else if (taxableIncome < 49999)
            {
                variablePercentage = 0.05;
                flatRate = 0;
                incomeTaxDue = taxableIncome * variablePercentage + flatRate;
            }
            else if (taxableIncome < 99999)
            {
                variablePercentage = 0.07;
                flatRate = 2500;
                incomeTaxDue = taxableIncome * variablePercentage + flatRate;
            }
            else if (taxableIncome > 100000)
            {
                variablePercentage = 0.09;
                flatRate = 6000;
                incomeTaxDue = taxableIncome * variablePercentage + flatRate;
            }
        }
        return flatRate;
    }

    // calculate and return the variable percentage ( tax rate )
    public static double GetVariablePercentage(double taxableIncome)
    {
        double incomeTaxDue;
        double flatRate;
        double variablePercentage;

        while (!double.TryParse(Console.ReadLine(), out variablePercentage))
        {

            if (taxableIncome < 0)
            {
                flatRate = 0;
                variablePercentage = 0;
                incomeTaxDue = taxableIncome * variablePercentage + flatRate;
            }
            else if (taxableIncome < 49999)
            {
                variablePercentage = 0.05;
                flatRate = 0;
                incomeTaxDue = taxableIncome * variablePercentage + flatRate;
            }
            else if (taxableIncome < 99999)
            {
                variablePercentage = 0.07;
                flatRate = 2500;
                incomeTaxDue = taxableIncome * variablePercentage + flatRate;
            }
            else if (taxableIncome > 100000)
            {
                variablePercentage = 0.09;
                flatRate = 6000;
                incomeTaxDue = taxableIncome * variablePercentage + flatRate;
            }
        }
        return variablePercentage;
    }
}

class DisplayTaxRate
{
    public static void DisplayTaxableIncome(string message, double numberValue)
    {
        Console.WriteLine("{0} {1:c}", message, numberValue);
    }
    public static void DisplayFlatRate(string message, double numberValue)
    {
        Console.WriteLine("{0} {1:c}", message, numberValue);
    }
    public static void DisplayVariablePercentage(string message, double numberValue)
    {
        Console.WriteLine("{0} {1:P}", message, numberValue);
    }
    public static void DisplayTotalTaxDue(string message, double numberValue)
    {
        Console.WriteLine("{0} {1:c}", message, numberValue);
    }
}
类程序
{
静态void Main(字符串[]参数)
{
//声明变量
双重应纳税所得额、所得额、统一税率、可变百分比;
//获取用户输入
taxableIncome=GetTaxableInput.GetDouble(“请输入您的总收入:”);
//计算应纳税额
incomeTaxDue=Calculatexdue.GetTaxableIncome(应纳税所得额);
//显示应纳税所得额
DisplayTaxRate.DisplayTaxableIncome(“您的总收入为:”,taxableIncome);
//显示统一费率
flatRate=CalculateAxDue.GetFlatRate(应纳税收入);
DisplayTaxRate.DisplayFlatRate(“您的税率为:”,flatRate);
//显示可变百分比
variablePercentage=CalculateAxDue.GetVariablePercentage(应纳税收入);
DisplayTaxRate.DisplayVariablePercentage(“您的可变百分比为:”,variablePercentage);
//显示应付税款总额
DisplayTaxRate.DisplayTotalTaxDue(“您的应缴所得税总额为:”,incomeTaxDue);
//保持控制台打开
Console.ReadLine();
}
}
类GetTaxableInput
{
公共静态双GetDouble(字符串消息)
{
//声明变量
双重结果;
//征求意见
控制台。写入(消息);
//捕获并验证用户输入
而(!double.TryParse(Console.ReadLine(),out result))
{
Console.WriteLine(“无效输入”);
控制台。写入(消息);
};
返回结果;
}
}
类计算扩展
{
公共静态双重应纳税所得额(双重应纳税所得额)
{
双重收入;
双倍利率;
双变量百分比;
//计算并返回应缴纳的所得税总额。
而(!double.TryParse(Console.ReadLine(),out incomeTaxDue))
{
if(应纳税所得额<0)
{
固定利率=0;
可变百分比=0;
所得税=应纳税所得额*可变百分比+统一税率;
}
其他条件(应纳税所得额<49999)
{
可变百分比=0.05;
固定利率=0;
所得税=应纳税所得额*可变百分比+统一税率;
}
其他条件(应纳税所得额<99999)
{
可变百分比=0.07;
固定利率=2500;
所得税=应纳税所得额*可变百分比+统一税率;
}
其他条件(应纳税所得额>100000)
{
可变百分比=0.09;
固定利率=6000;
所得税=应纳税所得额*可变百分比+统一税率;
}
}
返回到元xdue;
}
//计算并返回税率
公共静态双倍税率(双倍应纳税收入)
{
双重收入;
双倍利率;
双变量百分比;
而(!double.TryParse(Console.ReadLine(),out flatRate))
{
if(应纳税所得额<0)
{
固定利率=0;
可变百分比=0;
所得税=应纳税所得额*可变百分比+统一税率;
}
其他条件(应纳税所得额<49999)
{
可变百分比=0.05;
固定利率=0;
所得税=应纳税所得额*可变百分比+统一税率;
}
其他条件(应纳税所得额<99999)
{
可变百分比=0.07;
固定利率=2500;
所得税=应纳税所得额*可变百分比+统一税率;
}
其他条件(应纳税所得额>100000)
{
可变百分比=0.09;
固定利率=6000;
所得税=应纳税所得额*可变百分比+统一税率;
}
}
回报率;
}
//计算并返回可变百分比(税率)
公共静态双GetVariablePercentage(双应纳税收入)
{
双重收入;
双倍利率;
双变量百分比;
而(!double.TryParse(Console.ReadLine(),out variablePercentage))
{
if(应纳税所得额<0)
{
固定利率=0;
可变百分比=0;
所得税=应纳税所得额*可变百分比+统一税率;
}
其他条件(应纳税所得额<49999)
{
可变百分比=0.05;
固定利率=0;
所得税=应纳税所得额*可变百分比+统一税率;
}
其他条件(应纳税所得额<99999)
{
可变百分比=0.07;
固定利率=2500;
所得税=应纳税所得额*可变百分比+统一税率;
}
其他条件(应纳税所得额>100000)
{
可变百分比=0.09;
固定利率=6000;
所得税=应纳税所得额*可变百分比+统一税率;
}
}
收益率可变;
}
}
类显示