Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
lỗi 'System.NullReferenceException' lập trình console application c#
01:01 09-02-2018
649 lượt xem
3 bình luận
02:35 22-02-2018
em tạo hai class
class diem{ khơi tạo tọa độ }
class diem
{
private double X;
private double Y;
//cac phuong thuc get set
public double gs_x
{
get
{
return X;
}
set
{
X = value;
}
}
public double gs_y
{
get
{
return Y;
}
set
{
Y = value;
}
}
}
class tamgiac{tinh toan chu vi dien tich .....va nhập tọa độ}
class TamGiac
{
// properties
private diem A;
private diem C;
private diem B;
//methods
// phuong thuc tao co va khong co tham so
public TamGiac()
{
A.gs_x = 0;
A.gs_y = 0;
B.gs_x = 0;
B.gs_y = 0;
C.gs_x = 0;
C.gs_y = 0;
}
public TamGiac(diem a, diem b, diem c)
{
A = a;
B = b;
C = c;
}
// phuong thuc tinh chieu dai 1 doan thang
private double ChieuDai(diem d, diem c)
{
return Math.Sqrt(Math.Pow(c.gs_x-d.gs_x,2)+Math.Pow(c.gs_y-d.gs_y,2));
}
// chu vi va dien tich cua tam giac
public double ChuVi()
{
double ab, ac, bc;
ab = ChieuDai(A, B);
ac = ChieuDai(A, B);
bc = ChieuDai(B, C);
return ab + ac + bc;
}
public double DienTich()
{
double ab, ac, bc,p;
ab = ChieuDai(A, B);
ac = ChieuDai(A, B);
bc = ChieuDai(B, C);
p=(double)(ab+ac+bc)/2;
return Math.Sqrt(p * (p - ab) * (p - ac) * (p - bc));
}
//phuong thuc nhap toa do cac dinh
public TamGiac Nhap()
{
Console.WriteLine("nhap vao toa do cac dinh cua tam giac");
Console.WriteLine("dinh a:");
Console.WriteLine("xA= ");
A.gs_x = double.Parse(Console.ReadLine());
Console.WriteLine("yA= ");
A.gs_y = double.Parse(Console.ReadLine());
Console.WriteLine("dinh b:");
Console.WriteLine("xB= ");
B.gs_x = double.Parse(Console.ReadLine());
Console.WriteLine("yB= ");
B.gs_x = double.Parse(Console.ReadLine());
Console.WriteLine("dinh c:");
Console.WriteLine("xC= ");
C.gs_x = double.Parse(Console.ReadLine());
Console.WriteLine("xC= ");
C.gs_x = double.Parse(Console.ReadLine());
TamGiac ABC=new TamGiac(A,B,C);
TamGiac abc = new TamGiac();
if (ABC.DienTich() > 0)
{
return ABC;
}
else
{
return abc;
}
}
}
em chay các đối tượng A B C đều kiểu dữ liệu null không khởi tạo được mong anh chị giúp đỡ . em mới học OOP còn gà lắm.
class main
class Program
{
static void Main(string[] args)
{
Console.Write("chuong trinh tinh chu vi va dien tic tam giac");
TamGiac ABC = new TamGiac();
ABC = ABC.Nhap();
Console.WriteLine("chu vi cua tam giac: "+ABC.ChuVi());
Console.WriteLine("dien tich cua tam giac " + ABC.DienTich());
Console.ReadKey();
}
}
Các bác bên trên trả lời chuẩn đó bác. mình cũng nghĩ vậy
Mình nghĩ là ở đây nè
Mà cần chuyển thành
Mình nghĩ lỗi của bạn nằm ở chỗ chưa khởi tạo các đỉnh A, B, C trước khi sử dụng.