c#斐波那契计算器问题

c# Fibonacci calculator issue

我正在尝试获得一个有效的斐波那契计算器,但我遇到了一些问题。据我所知,我的代码运行良好,尽管当我输入一个词时它崩溃了。我不确定我怎样才能让它为我工作,所以它只接受数字。提前致谢 :D

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)。如果它没有成功,它将在 "return".

处退出该方法

您需要验证输入 first.If 您正在使用文本框..应该有一个设置只接受数字。

在后端..您可以使用以下代码检查输入是否为数字

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

if(isNumeric)
{
Your calculator code
}