Chủ đề: Cho em hỏi lỗi này là gì ạ ?
-
17-08-2014, 10:42 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cho em hỏi lỗi này là gì ạ ?
Em mới bắt đầu học lập trình java nên chưa biết gì nhiều , mong mọi người giúp đỡ ạ :
Đề bài là nhập 1 mảng các sinh viên ( chỉ có tên ). sau đó nhập vào 1 cái tên và kiểm tra có sinh viên này không . Em làm thế này thì lúc chạy nó báo lỗi như sau ạ :
"
Nhap vao so sinh vien :
3
Hay nhap vao ho ten cac sinh vien
Exception in thread "main" java.lang.NullPointerException
Sinh vien : at LamQuenJava.Mang1.main(Mang1.java:26)
Java Result: 1
"
Mã:ackage LamQuenJava; import java.util.Scanner; /** * * @author SVN - Team */ public class Mang1 { static Scanner in = new Scanner(System.in); public static void main(String[] args) { Student[] group1 ; int n; System.out.println("Nhap vao so sinh vien :"); n = in.nextInt(); group1 = new Student[n]; System.out.println("Hay nhap vao ho ten cac sinh vien "); for(int i=0;i<n;i++){ System.out.print("Sinh vien :"); group1[i].name = in.nextLine(); } System.out.println("Ket thuc qua trinh nhap!"); System.out.println("Nhap vao ten sinh vien can tra:"); String x = in.nextLine(); if(check(x,group1,n)==1) System.out.println("Co sinh vien nay!"); else System. out.println("Khong co sinh vien nay! "); } static int check(String name,Student [] group,int n){ int t=0; for(int i=0;i<n;i++){ if(name.compareTo(group[i].name) == 0 ) t=1; break; } return t; } } class Student{ String name; void show(){ System.out.println("sinh vien :" + this.name); } }
View more random threads:
- RE: synchronization trong Thread
- Giúp Đỡ Em Với
- help me ... web application
- Delete cơ sở dữ liệu và cập nhập lại List bị lỗi
- sách về java
- lỗi java.lang.NullPointerException trong java
- Chỉnh sửa các dòng trong file txt
- Hỏi về tác dụng của Package trong Java
- Nhờ các anh chị -Nếu rãnh giúp e với đang cần :(
- 50 Video học Java Free dành cho các bạn mới học!
-
17-08-2014, 01:08 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Bạn tự làm à? Sao thấy tác giả là SVN - Team (tên nghe quen).
Bạn chưa tạo đối tượng mới cho từng phần tử của mảng mà.
Mã:Student[] st = new Student[40];for (int i = 0; i < st.length; i++) { st[i] = new Student();}
-
17-08-2014, 05:11 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi SITUVNX
Em vừa sửa như anh thì chạy được rồi , nhưng em tưởng là tạo mảng gồm n phần tử Student rồi thì mỗi phần tử của mảng đó là 1 đối tượng luôn rồi ạ ? Nếu không thì cái dòng " Student[] st = new Student[40]; " nó tạo ra cái gì vậy ạ ?
-
18-08-2014, 09:03 AM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Khi khai báo mảng, khởi tạo số lượng phần thử trong mảng chỉ là khai báo mảng các con trỏ. Nếu muốn con trỏ của từng phần tử trỏ đến các đối tượng thì tiếp tục tạo đối tượng mới.
Các mảng của kiểu nguyên thủy thì không cần khởi tạo đối tượng cho từng phần tử.
Ngọc Bích xanh bản chất thuộc dòng đá đá hoa (jade). Và cẩm thạch là tên gọi chung của ngọc bích. Vì thực chất chúng thuộc dòng đá đa khoáng được hình thành từ chất Silicat dưới dạng dioxy. Ngọc bích...
Chia sẻ Vòng tay ngọc bích xanh là...