繁体   English   中英

C#斐波那契计算器问题

[英]c# Fibonacci calculator issue

我试图获得一个工作的斐波那契计算器,但是我遇到了一些问题。 据我所知,我的代码运行良好,尽管当我输入单词时它崩溃了。 我不确定如何使它为我工作,所以它只会接受数字。 提前致谢

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }


    private void Button_Click1(object sender, RoutedEventArgs e)
    {

        //Fibonacci

        string output = String.Empty;



        double result;
        double z = 0;
        double x = 1;
        double y = double.Parse(FibonacciAsText.Text);
        if (double.TryParse(FibonacciAsText.Text, out result))
        {
            if (y == 1)
                output = 1.ToString();
        }
        else if (y == 0)
        {
            output = 0.ToString();
        }
        for (double w = 0; w < y - 1; w++)
        {
            result = z;
            z = x;
            x = result + x;
            output = x.ToString();
        }
        Fibonacci.Text = output;
    }

这将退出方法,并不允许代码完成:

double y;

if (!double.TryParse(FibonacciAsText.Text, out y))
{
    Fibonacci.Text = "N/A";
    return;
}

基本上,它会检查您是否有一个有效的号码。 如果是这样,它将设置为y(类似于Parse)。 如果仍然失败,它将在“返回”处退出该方法。

您需要首先验证输入。如果您使用的是文本框,则应设置仅接受数字。
要么
在后端..您可以使用以下代码检查输入是否为数字

int n;
bool isNumeric = int.TryParse(FibonacciAsText.Text, out n);

if(isNumeric)
{
Your calculator code
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM