
Mảng (array) trong Java
Bài tập
Bạn hãy viết chương trình nhập vào từ bàn phím 10 số nguyên và hiển thị ra 10 số vừa nhập.
Ví dụ nếu nhập:
2 7 6 3 4 8 9 7 6 10
Thì màn hình sẽ hiển thị:
2 7 6 3 4 8 9 7 6 10
Lý thuyết
Bài này có thể làm bằng cách thông thường là tạo ra 10 biến như sau:
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a0 = sc.nextInt();
int a1 = sc.nextInt();
int a2 = sc.nextInt();
int a3 = sc.nextInt();
int a4 = sc.nextInt();
int a5 = sc.nextInt();
int a6 = sc.nextInt();
int a7 = sc.nextInt();
int a8 = sc.nextInt();
int a9 = sc.nextInt();
System.out.print(a0 + " " + a1 + " " + a2 + " " + a3 + " " + a4 + " " + a5 + " " + a6 + " " + a7 + " " + a8 + " " + a9);
}
}
Có thể thấy cách làm này không được hay và không khả thi khi phải nhập dữ liệu với số lượng lớn. Với cách làm này bạn phải tạo ra rất nhiều biến, nếu chương trình yêu cầu nhập 100 số nguyên thì bạn cũng phải tạo ra 100 biến. Rất may là vấn đề này có thể được giải quyết bằng mảng.
Mảng được hiểu đơn giản là một tập hợp các biến. Ví dụ bài này nếu làm bằng mảng thì sẽ như sau:
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Khai báo mảng a kiểu số nguyên với 10 phần tử
int[] a = new int[10];
// Dùng vòng for để nhập dữ liệu cho các phần tử trong mảng
for (int i = 0; i < 10; i++) {
a[i] = sc.nextInt();
}
// Dùng vòng for để hiển thị các phần tử trong mảng
for (int i = 0; i < 10; i++) {
System.out.print(a[i] + " ");
}
}
}
Có thể thấy thay vì tạo ra 10 biến thì bạn chỉ cần tạo ra một mảng với 10 phần tử. Thay vì nhập dữ liệu và hiển thị từng biến thì bạn nhập dữ liệu và hiển thị các phần tử của mảng
Các phần tử của mảng được truy xuất bằng toán tử []
. Ví dụ:
a[0]
tương đương với phần tử thứ nhất.a[1]
tương đương với phần tử thứ hai.- …
Nhìn chung cách làm bài này với mảng cũng giống việc tạo ra nhiều biến, chỉ khác ở chỗ thay vì phải viết a0, a1, a2, ..., a9
thì bạn có thể dùng vòng lặp for
và viết là a[i]
.
Ngoài ra bạn còn có thể khai báo và khởi tạo giá trị cho mảng giống như sau:
// Khai báo mảng a 5 phần tử với giá trị từ 1 tới 5
int[] a = {1, 2, 3, 4, 5};
Nếu bạn vẫn chưa làm được bài này thì có thể xem hướng dẫn ở bên dưới.
Hướng dẫn
Code mẫu:
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] a = new int[10];
for (int i = 0; i < 10; i++) {
a[i] = sc.nextInt();
}
for (int i = 0; i < 10; i++) {
System.out.print(a[i] + " ");
}
}
}
Tham khảo thêm:
https://codelearn.io/sharing/tai-sao-nen-dung-arraylist
https://codelearn.io/sharing/stream-xu-ly-du-lieu-the-nao-trong-java
Post Comment