Hỏi Về Nhập Xuất Mảng 1 Chiều Trong Java? - Dạy Nhau Học Trang chủ » Nhập Mảng 1 Chiều Java » Hỏi Về Nhập Xuất Mảng 1 Chiều Trong Java? - Dạy Nhau Học Có thể bạn quan tâm Nhập Mảng 2 Chiều Trong Python Nhập Mảng A Gồm N Phần Tử Nhập Mảng A Gồm N Phần Tử C Nhập Mảng A Gồm N Phần Tử đếm Trong Mảng Có Bao Nhiêu Phần Tử Chia Hết Cho 3 Nhập Mảng A Gồm N Phần Tử Sao Cho Các Số Chẳn Và Lẻ Xen Kẽ Nhau Hỏi về nhập xuất mảng 1 chiều trong java? programming java Nguyen_Duc_Hai1 (Nguyễn Đức Hải) August 19, 2017, 7:52am #1 Em có đoạn code nhập xuất mảng 1 chiều như sau, nhưng khi nhập xong thì mảng B vẫn không có giá trị nên không xuất ra gì, ai giúp em với! import java.util.Scanner; public class Cau13 { public static void nhapmangA(int[] A) { @SuppressWarnings("resource") Scanner in = new Scanner(System.in); System.out.print("Nhập kích thước mảng A: "); int n = in.nextInt(); A = new int[n]; for(int i=0;i<n;i++) { System.out.print("A["+i+"] = "); A[i] = in.nextInt(); } } public static void xuatmang(int[] A) { System.out.print("Danh sách mảng: "); for(int i=0;i<A.length;i++) { System.out.print("\t"+A[i]); } } public static void main(String[] args) { int [] B = null; nhapmangA(B); xuatmang(B); } } RootOnChair (Phạm Vinh) August 19, 2017, 8:01am #2 Java là pass-by-value nhé bạn Để khắc phục bạn tạo hàm trả về một mảng sau đó gắn B vô Tìm hiểu thêm: Are arrays passed by value or passed by reference in Java? java, arrays asked by Froskoy on 07:44AM - 06 Oct 12 và http://www.journaldev.com/3884/java-is-pass-by-value-and-not-pass-by-reference 1 Like Nguyen_Duc_Hai1 (Nguyễn Đức Hải) August 20, 2017, 4:07am #4 Mình sửa vẫn không được, bạn có thể hướng dẫn code cho mình được không, cảm ơn bạn! import java.util.Scanner; public class Cau13 { public static int[] nhapmangA(int A[]) { @SuppressWarnings(“resource”) Scanner in = new Scanner(System.in); System.out.print("Nhập kích thước mảng A: "); int n = in.nextInt(); A = new int[n]; for(int i=0;i<n;i++) { System.out.print("A["+i+"] = "); A[i] = in.nextInt(); } return A; } public static int xuatmang(int A[]) { System.out.print("Danh sách mảng: "); for(int i=0;i<A.length;i++) { System.out.print("\t"+A[i]); } return 0; } public static void main(String[] args) { int [] B = null; nhapmangA(B); xuatmang(B); } } RootOnChair (Phạm Vinh) August 20, 2017, 4:12am #5 Nguyen_Duc_Hai1: nhapmangA(B); Vấn đề là bạn quên gán B, array được trả về bởi nhapmangA nhưng không có biến nào chứa kết quả trả về cả Nguyen_Duc_Hai1: public static int[] nhapmangA(int A[]) Bạn có thể bỏ tham số int A[] đi vì nó bị dư rồi Sửa: public static int[] nhapmangA(/*int A[] dư*/) { @SuppressWarnings("resource") Scanner in = new Scanner(System.in); System.out.print("Nhập kích thước mảng A: "); int n = in.nextInt(); int[] A = new int[n];// tạo ra một mảng mới luôn for(int i=0;i<n;i++) { System.out.print("A["+i+"] = "); A[i] = in.nextInt(); } return A; } Nguyen_Duc_Hai1 (Nguyễn Đức Hải) August 20, 2017, 12:07pm #6 Có cách nào đưa tham số vào hàm, để khởi tạo mảng mới trong hàm main và dùng mảng đó làm tham số cho hàm nhập và xuất không? Nếu làm như vậy thì mình không dùng được 2 hàm nhập, xuất riêng ra được. Cảm ơn bạn Bui_Van_Vuong (Bùi Văn Vượng) August 21, 2017, 3:32pm #8 Trong Hàm Nhập thì bạn đã gán A tham chiếu tới một vùng nhớ khác rồi, nên mọi tham số khi truyền vào sẽ không có giá trị nào nữa do A ko còn tham chiếu tới B nữa. Khắc phục thì bạn bỏ A = new int[] trong hàm nhập đi, và khởi tạo cho mảng B ở bên rồi truyền vào Nguyen_Duc_Hai1 (Nguyễn Đức Hải) August 22, 2017, 4:08am #9 Mình bỏ A = new int[] rồi mà vẫn không được, bỏ xong thì vừa nhập xong A[0] là bị lổi luôn. Bạn kiểm tra giúp mình còn lổi chổ nào nữa không với. Cảm ơn bạn nhiều. Truong_Dat (Dat) August 22, 2017, 6:38am #10 Bạn có thể tạo một class ví dụ class MyInput có một property là mảng kiểu int, rồi dùng object của class này để truyền data qua 2 method. qloved (Quân) August 22, 2017, 9:07am #11 vẫn lỗi chỗ đó thôi, đoán là nullpointerexception, lí do: bạn truy cập vào đối tượng chưa khởi taoj Nguyen_Duc_Hai1 (Nguyễn Đức Hải) August 22, 2017, 10:04am #12 Bạn có thể sửa code giúp mình được không! Mình cảm ơn qloved (Quân) August 22, 2017, 12:10pm #13 Không, bạn nên tự làm thì tốt hơn. Có mấy keyword hint cho bạn: java là pass by value nên tất cả những gì truyền vào đều là giá trị, reassign ở trong function không làm thay đổi giá trị của biến bên ngoài. biến muốn sử dụng phải được gán giá trị (trừ các biến kiểu primitive) nếu không thì sẽ bị null pointer. Kiếm sách java học từ đầu đến cuối thì sẽ làm được bài trên thôi. Đừng nhảy cóc không đâu vào đâu đâu 3 Likes TuanSanh (đậu tuấn sanh) December 1, 2017, 11:13am #14 Hi bạn ! lỗi sai đầu tiên của bạn đó là tạo ra một mảng B null, khi bạn truyền vào thì mặc định nó sẽ null. tiếp theo khi bạn tạo mảng A ở mỗi method thì nó chỉ có giá trị trong method đó , muốn dùng chung bạn nên ra hàm main để tạo! mình giợi ý cách giải, đó là bạn nhập chiều dài của mảng ngay hàm main, sau đó tạo mảng ngay hàm main luôn! sau đó lấy mảng vừa tạo ra truyền vào hai hàm xuất , nhập! cám ơn bạn đã đăng bài! DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Nhập Mảng 1 Chiều Java Cú Pháp Khai Báo Và Nhập Xuất Mảng Một Chiều Trong Java Mảng Một Chiều Trong Java - Freetuts Java - Nhập Mảng Và Thực Hiện Các Thao Tác Trên Mảng. Kỹ Thuật Lập Trình Với Mảng 1 Chiều Trong Java Khai Báo Mảng Trong Java - Học Java Cơ Bản đến Nâng Cao - VietTuts Mảng Một Chiều Trong Ngôn Ngữ Java Bài Tập Về Mảng Trong Java - Lập Trình Không Khó Mảng Một Chiều Trong Java | V1Study Mảng Một Chiều Trong Java - Lập Trình Từ Đầu Nhập Mảng Và In Mảng Các Số Nguyên Trong Java - MangBinhDinh.Vn Mảng (array) Trong Java - KungFu Tech Bài 3: Bài Tập Java Về Mảng, Dãy Số - VnCoder [PDF] BÀI 4 MẢNG VÀ CHUỖI TRONG JAVA - Topica