gpt4 book ai didi

c# - 我编写的第一个应用程序崩溃了,我不知道为什么

转载 作者:行者123 更新时间:2023-11-30 01:56:29 25 4
gpt4 key购买 nike

我已经开始使用 Xamarin 在 C# 中编写 Android 应用程序,但我的应用程序甚至在执行任何操作之前就崩溃了。谁能找出原因?

该应用程序的目的是简单地采用 ax^2+bx+c 形式的二次方程并找到它的两个解,然后显示这些解。

谢谢。

[Activity (Label = "FirstApp", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
int a = 4;
int b = 1 ;
int c = 2;
int d;
int s1;
int s2;
string fail ="There are no real roots!";


protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);

// Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main);

// Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button> (Resource.Id.myButton);
TextView sol2 = FindViewById<TextView> (Resource.Id.Solution2);
TextView sol1 = FindViewById<TextView> (Resource.Id.Solution1);

button.Click += delegate {
quadratic(a,b,c);

sol1.Text = string.Format (Convert.ToString(s1));

sol2.Text = string.Format (Convert.ToString(s2));
};

}
string quadratic (int a, int b, int c)
{
d = Convert.ToInt32(Math.Pow (b, 2)) - (4 * a * c);
if (d < 0) {
return(fail);
} else{
s1 = (-1 * b + Convert.ToInt32(Math.Sqrt (d))) / (2 * a);
s2 = (-1 * b - Convert.ToInt32(Math.Sqrt (d))) / (2 * a);
return(Convert.ToString(s1));
}
}
}

最佳答案

我认为以下行试图将未定义的 int 转换为字符串:

sol1.Text = string.Format (Convert.ToString(s1));
sol2.Text = string.Format (Convert.ToString(s2));

在我的本地测试中,项目不会构建,直到 s1s2 具有值。

int s1, s2 = -1;

关于c# - 我编写的第一个应用程序崩溃了,我不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32127846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com