Bro dùng lớp ArrayList để tạo mảng động.
Thí dụ:
Lưu ý:Code:// Tạo đối tượng ArrayList kiểu phần tử là Integer: ArrayList<Integer> ar = new ArrayList<Integer>(); // Lúc này, ar là rỗng (chưa có phần tử): System.out.println("isEmpty: " + ar.size()); System.out.println("size: " + ar.size()); // Thêm 10 phần tử vào ar: for (int i = 0; i < 10; i++) ar.add(i); // Đến đây, ar có 10 phần tử: System.out.println("isEmpty: " + ar.isEmpty()); System.out.println("size: " + ar.size()); // Dùng phương thức get, set, remove, add để đọc, ghi, xóa, thêm các phần tử...
Kiểu của phần tử phải dẫn xuất từ lớp Object, không thể là kiểu cơ sở. Java có sẳn các wrapper cho các kiểu cơ sở như sau:
lớp BigInteger thì hiển nhiên được vì mọi lớp có sẳn trong Java đều dẫn xuất từ Object.Code:======================== primitive wrapper ------------------------ byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean ========================
Được sửa bởi cal lúc 18:52 ngày 25-12-2009
Bác val cho em hỏi hơi ngố ngố chút là trong 1 hàm khi ta return về nhiều giá trị thì khi lấy các giá trị đó thì ta phải làm sao ạ. Ví dụ như:
public int gido(){
int a,b;
a=1; b=2;
return (a,b);
}
Khi đó ta muốn lấy hai biến a và b sau khi đã gọi hàm thì phải làm sao ạ??
Hàm không thể trả về 2 trị.
Có 3 hướng:
1. Viết 2 hàm riêng biệt, 1 hàm trả về a, hàm kia trả về b
2. Định nghĩa a, b như là biến riêng của lớp; hàm gido là method của lớp.
Nếu cần gọi thực thi gido từ bên ngoài class Xyz thì viết thêm 2 getter: geta, getb trả về giá trị a,b.Code:class Xyz { private int a,b; ... public void gido() { a = 1; b = 2; } };
3. Tạo 1 class với a, b như là các public fields.
Lời gọi method gido:Code:public class MyData { public int a; public int b; }; ... class Xyz { ... public void gido(MyData data) { data.a = 1; data.b = 2; } };
// xyz là biến đối tượng kiểu Xyz
MyData data = new MyData();
xyz.gido(data);
// áp dụng giá trị data.a và data.b cho cái gì đó.
Thanks bác nhiều nha! Em làm được rồi
You're welcome.
Tôi còn quên 1 cách: tương tự cách 3, nhưng method gido trả về kiểu MyData:
Lời gọi method gido:Code:class Xyz { ... public MyData gido() { MyData data = new MyData(); data.a = 1; data.b = 2; return data; } };
// xyz là biến đối tượng kiểu Xyz
MyData data = xyz.gido();
// áp dụng giá trị data.a và data.b cho cái gì đó.
Nên tránh sử dụng nhiều lớp quá trong lập trình Java. Nếu các giá trị trả về là có kiểu giống nhau thì khai báo hàm trả về mảng và quy định thứ tự trả về tương ứng.
<code>
public int[] f(){
int [] a = new int[2];
a[0] = 1;
a[1] = 2;
return a;
}
</code>
Vậy java làm sao để chia 2 số cực lớn vậy??? Ai chỉ cách với! Thanks nhiều!
Bookmarks