c#斐波纳契计算器问题

时间:2017-06-15 15:39:58

标签: c# fibonacci fix-protocol

我正在尝试使用斐波纳契计算器,但我遇到了一些问题。据我所知,我的代码运行良好,虽然它输入一个单词时崩溃了。我不确定如何才能让它为我工作,所以它只会接受数字。提前致谢: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;
    }

2 个答案:

答案 0 :(得分:0)

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

double y;

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

基本上,它会检查你是否有一个有效的号码。如果是这样,它将设置为y(类似于Parse)。如果它没有成功,它将退出方法&#34; return&#34;。

答案 1 :(得分:0)

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

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

if(isNumeric)
{
Your calculator code
}