01/10/2018, 17:24
Hàm get trong mảng số nguyên không hoạt động đúng
This post was flagged by the community and is temporarily hidden.
Bài liên quan
This post was flagged by the community and is temporarily hidden.
xác định lại giá trị trả về đi bạn. Muốn trả về arrays thì khai báo một arrays và cấp phát số ô nhớ cho nó sau đó mới return, còn về kiểu primitive data thì trả về bình thường thôi !
Cảm ơn bạn nhưng mình chưa hiểu lắm, mình đang viết hàm set trong class array và mình muốn khi gọi hàm set ở hàm main thì sẽ hiện ra phần từ được set nhưng lại k đc bạn ơi
return new Integer(a[y]);
bạn viết là hàm get mà hàm set không trả về giá trị mà nó gán giá trị mà bạn
Muốn hiện kết quả thì phải
System.out.println(a[y]);
hoặcSystem.out.println(get(y));
chứ.mình khai báo kiểu trả về integer nên bth muôn trả ra kết quả thì phải return kết quả ấy ra đó b, còn cách của bạn thì mình khai báo kiểu void bth
là sao mình chưa hiểu lắm, bạn có thể giải thích rõ hơn giúp mình đc k
up cả code lên đi bạn
nó không in ra vì bạn không có lệnh in thôi.
thêm đoạn :
System.out.println(a[y]);
vào trước return thì nó mới in ra chứ.
Em nên tham khảo cách
ArrayList
gọi phần tử quaget(index)
như thế nào. Nói chung mò code củaArrayList
cũng dễ, mò tí là ra rồi.Đầu tiên là đoạn code method
get(int index)
, gọi tới 2 methods làrangeCheck()
vàelementData()
.rangeCheck()
kiểm traindex
có hợp lệ không.index
hợp lệ, không có exception thì chạy lệnh tiếp theoelementData()
, trả về phần từ vị tríindex
.rangeCheck()
kiểm traindex
có hợp lệ, theo javadocs thì tính hợp lệ làindex >= 0
vàindex < size
, vớisize
là số phần tửArrayList
đang sở hữu. Tuy nhiên, code chỉ kiểm tra trường hợpindex >= size
với message được trả về từ hàmoutOfBoundsMsg()
.outOfBoundsMsg()
rất đơn giản, trả vềString
chứa thông tin index và số lượng phần tửArrayList
, là message cho exception ởrangeCheck()
.Tại
elementData()
mới là bước trả về phần tử, đơn giản là sử dụng toán tử truy xuất phần tử mảngelementData[index]
. Có một trick được sử dụng ở đây. Nếuindex < 0
thì tự động throwArrayIndexOutOfBoundsException
khi truy xuất bằng[index]
Cuối cùng là field cùng tên với method
elementData
, là array củaObject
.Source code: http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/00cd9dc3c2b5/src/share/classes/java/util/ArrayList.java
Có gì đó sai sai