关于c#的问题,如何解决?

img

问题遇到的现象和发生背景

程序输入一些值运行结果不正确,面积结果算出来总是等于0

问题相关代码

主程序
using System;

namespace _6
{
class Program
{
static void Main(string[] args)
{
Triangle a=new Triangle();
a.Result();
a.GetArea();
a.Justify();
}
}
}
Triangle类
using System;
using System.Collections.Generic;
using System.Text;

namespace _6
{
class Triangle
{
double x;
double y;
double z;
double s;
double l;
public void Result()
{
Console.WriteLine("Please input x,y,z:");
string m = Console.ReadLine();
double x = Convert.ToDouble(Convert.ToInt32(m));
string n = Console.ReadLine();
double y = Convert.ToDouble(Convert.ToInt32(n));
string p = Console.ReadLine();
double z = Convert.ToDouble(Convert.ToInt32(p));
if (x > 0 && y > 0 && z > 0 && x + y > z && x + z > y && y + z > x)
{
Console.WriteLine("可以构成三角形!");
}
else
{
Console.WriteLine("Error data!");
}
}
public void GetArea()
{
s = (x + y + z)/2;
l = s * (s - x) * (s - y) * (s - z);
Console.WriteLine("三角形的面积为:{0}", Math.Sqrt(l));
}
public void Justify()
{
if (Math.Pow(x, 2) + Math.Pow(y, 2) < Math.Pow(z, 2) && Math.Pow(x, 2) + Math.Pow(z, 2) < Math.Pow(y, 2) && Math.Pow(y, 2) + Math.Pow(z, 2) < Math.Pow(x, 2))
{
Console.WriteLine("三角形为锐角三角形!");
}
else if (Math.Pow(x, 2) + Math.Pow(y, 2) > Math.Pow(z, 2) && Math.Pow(x, 2) + Math.Pow(z, 2) > Math.Pow(y, 2) && Math.Pow(y, 2) + Math.Pow(z, 2) > Math.Pow(x, 2))
{
Console.WriteLine("三角形为钝角三角形!");
}
else if (Math.Pow(x, 2) + Math.Pow(y, 2) == Math.Pow(z, 2) && Math.Pow(x, 2) + Math.Pow(z, 2) == Math.Pow(y, 2) && Math.Pow(y, 2) + Math.Pow(z, 2) == Math.Pow(x, 2))
{
Console.WriteLine("三角形为直角三角形!");
}
else
{
Console.WriteLine("Error Data!");
}
}
}
}

运行结果及报错内容

Please input x,y,z:
1
6
7
Error data!
三角形的面积为:0
三角形为直角三角形!

我想要达到的结果

如果符合构成三角形的条件,就继续计算三角形的面积并判断三角形的形状,如果不符合构成三角形的条件,就只输出“Error Data!”

属性 x y z 没有赋值

Result() 方法中的
double x = Convert.ToDouble(Convert.ToInt32(m));

double y = Convert.ToDouble(Convert.ToInt32(n));

double z = Convert.ToDouble(Convert.ToInt32(p));
改为
x = Convert.ToDouble(Convert.ToInt32(m));

y = Convert.ToDouble(Convert.ToInt32(n));

z = Convert.ToDouble(Convert.ToInt32(p));