01/10/2018, 13:28

Tại sao chương trình lại cho ra họ và tên null

cac bac cho minh hoi sao minh chay chuong trinh ma ho va ten lai ra null nhi ?

public class Student {
    private String ten;
    private double hocphi;
    public void tenSinhVien (String tenSV){
        ten = tenSV;
    }
    public void setHocPhi(double hp){
        hocphi = hp;
    }
    
    public void inThongTin(){
        System.out.println("Ho va Ten: "+ ten);
        System.out.println("hoc phi la: "+ hocphi );
    }
    public static void main(String args[]){
        Student sv1 = new Student();
        sv1.setHocPhi(400);
        sv1.inThongTin();
        sv1.tenSinhVien("Nguyen Van A");
    }

}

Khang Việt viết 15:29 ngày 01/10/2018

hỏi thì hỏi cho đàng hoàng thì người ta mới trả lời cho , hỏi kêu này ai mà trả lời cho bạn

Đào Hiếu viết 15:39 ngày 01/10/2018

xin lỗi bạn nha . mình là người mới chua biet quy dinh web ntn ban chi minh dang lai bai moi =)) tks ban nha =)

Tên Gì Cũng Được viết 15:32 ngày 01/10/2018

public void tenSinhVien (String tenSV){
ten = tenSV;
}

gán thế này không có tác dụng gì cả
phải là $this->ten = tenSV

Đào Hiếu viết 15:32 ngày 01/10/2018

$this->ten = tenSV

cám ơn bạn nhá =) cơ mà khong hiểu sao cái neatbean mình nó lai khong nhận $this->ten = tenSV bạn ạ =(

Tên Gì Cũng Được viết 15:36 ngày 01/10/2018

bạn đang viết bằng ngôn ngữ gì?
một số ngôn ngữ thì dùng -> (php…) một số ngôn ngữ dùng dấu chấm (java, …)
thử $this.ten = tenSV

Đào Hiếu viết 15:43 ngày 01/10/2018

mình viết java bạn ạ. cái này nó dung this với dấu chấm bạn ạ =) . nhưng mà mình thay vào ntn
public void tenSinhVien (String tenSV){
this.ten = tenSV;
}
thì cái họ và tên vẫn null bạn ạ. chắc cái neatbean mình nó bị lỗi hay sao ấy =(

X viết 15:33 ngày 01/10/2018

Mới tham gia thì bạn vui lòng đọc các nội quy của diễn đàn nhe https://daynhauhoc.com/faq
Đây là cách post code: Cách post Code dùng Markdown trong Category Programming

Đào Hiếu viết 15:31 ngày 01/10/2018

cám ơn bác nhá =) may quá chưa ra đảo =)

X viết 15:42 ngày 01/10/2018

Topic vi phạm nên đã ra rồi nhé

Tên Gì Cũng Được viết 15:41 ngày 01/10/2018

hàm inThongTin khi gọi thì biến ở trong hàm đó cũng chưa có khai báo hay có giá trị gì cả, nếu muốn lấy đúng thì có lẽ là this.ten, this.hocphi

trong main thì chưa set tên cũng đã in thông tin

Đào Hiếu viết 15:29 ngày 01/10/2018

bạn cho mình hỏi sao mình khai báo thế mà cái hocphi nó vẫn in ra giá trị mà cái họ và tên thì lại ra null ?

Phan Bá Hải viết 15:40 ngày 01/10/2018

public static void main(String args[]){
Student sv1 = new Student();
sv1.setHocPhi(400);
sv1.inThongTin();
sv1.tenSinhVien(“Nguyen Van A”);
}

Do bạn gọi hàm in trước khi set tên sv

Phan Bá Hải viết 15:36 ngày 01/10/2018

Thực ra không dùng this kết quả vẫn gán giá trị được
Tuy nhiên theo code style thì khi tạo setter, tham số truyền vào phải giống với thuộc tính của class, nên phải dùng this để trỏ chính class đó
VD

public class Student {
    private String name;
    public String getName() {
        return this.name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

Trỏ một thuộc tính của class trong Java là this.<tên thuộc tính>
VD this.ten

sdo4 viết 15:45 ngày 01/10/2018

đơn giản đây là câu trả lời.

Đào Hiếu viết 15:40 ngày 01/10/2018

mình cám ơn các bạn nhé =)

Edogawa Conan viết 15:30 ngày 01/10/2018

Đây, bài viết của bạn noname00 :

LTS: diễn đàn đón rất nhiều new user và câu hỏi mới mỗi ngày. Điều khiến admin, các mod và các bạn khác quan ngại chính là vì newbie không tuân thủ những quy định của diễn đàn: câu hỏi không rõ ràng, không format code hay thái độ hỏi rất thiếu thiện chí. Ngày hôm nay mình sẽ có 1 số hướng dẫn chung để tóm tất cả những điểm đáng lưu ý nhất để tình trạng "xấu xí" này sẽ giảm bớt. 1. Tiêu đề câu hỏi Đây là một trong những vấn đề luôn khiến nhiều người đau đầu. Bạn nên nhớ 1 số lưu ý sau: Không đặt câu…

Bài liên quan
0