/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package bai2;
import java.util.Scanner;
public class quanly {
student[] sv = new student[50];
int n;
void inputmany() {
String x1id;
String x1major ;
String x1name;
String x1address;
double x1mark;
int x1dob;
Scanner sc = new Scanner(System.in);
System.out.println("n=");
n = sc.nextInt();
sv= new student[n];
for (int i = 0; i < n; i++) {
sv[i]= new student();
System.out.println("ID=");
x1id=sc.next();
sv[i].setid(x1id);
System.out.println("Name=");
x1name=sc.next();
sv[i].setname(x1name);
System.out.println("address=");
x1address=sc.next();
sv[i].setaddress(x1address);
System.out.println("major=");
x1major=sc.next();
sv[i].setmajor(x1major);
System.out.println("mark=");
x1mark= sc.nextDouble();
sv[i].setmark(x1mark);
}
}
void viewmany(){
for(int i=0;i<n;i++){
System.out.println(sv[i].getid());
System.out.println(sv[i].getname());
System.out.println(sv[i].getaddress());
System.out.println(sv[i].getmajor());
System.out.println(sv[i].getmark());
}
}
public static void main(String[] args) {
quanly ql= new quanly();
ql.inputmany();
ql.viewmany();
}
}
Đoạn code sai ở đâu khi in ra kết quả toàn null với 0.0?
chắc sai trong hàm set trong student rồi
Bạn xem lại Get và Set bên class student nhé.
Get và Set ở trong các IDE đều hỗ trợ cả nên bạn không cần tự code ra thế đâu. Phím tắt thường là: Alt + insert
Bạn thử dùng class student bên dưới và sửa lại tên các phương thức Get và Set bên class quanly được gọi vào cho đúng rồi chạy thử xem
public class student{
String id;
String adress;
String name;
String major;
double mark;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAdress() {
return adress;
}
public void setAdress(String adress) {
this.adress = adress;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public double getMark() {
return mark;
}
public void setMark(double mark) {
this.mark = mark;
}
}
Null với 0.0 là đúng rồi. Đối tượng ở 2 method input vs view nó đâu có liên quan gì đến nhau đâu mà gọi được ra kết quả chứ bạn.
Thanks bác !! đúng rồi e sai chỗ hàm set 
Bác xem lại đi.
- Mảng chứa các sinh viên kia được khai báo toàn cục chứ không phải cục bộ.
- Hàm inputmany() dùng để nạp dữ liệu cho từng sinh viên.
- Hàm viewmany() để hiển thị thông tin các sinh viên có trong mảng.
Tất cả được gọi trong main(). Mà sao bác bảo không liên quan
student[] sv = new student[50];
sv= new student[n];
2 new này bác.
có dòng new đó chẳng sao cả, nếu vấn đề nằm ở dòng new đó thì lỗi bạn này nhận được sẽ là NullPointerException chứ không phải chỉ đơn giản in ra null với 0.0. Vấn đề thực sự nó nằm ở các hàm set của class Student thôi
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?