Xem thêm

[Java] Khám phá quy trình nhập xuất mảng trong Java

Huy Erick
Việc nhập và xuất mảng là một yêu cầu cơ bản mà mọi lập trình viên đều cần hiểu rõ. Trong bài viết này, chúng ta sẽ tìm hiểu quy trình thực hiện nhập xuất...

Việc nhập và xuất mảng là một yêu cầu cơ bản mà mọi lập trình viên đều cần hiểu rõ. Trong bài viết này, chúng ta sẽ tìm hiểu quy trình thực hiện nhập xuất mảng trong Java thông qua một bài toán cụ thể.

1. Bài toán nhập xuất mảng trong Java

Bài 1 (TH-LTHDT-01): Viết chương trình để nhập vào một mảng các số nguyên từ bàn phím và thực hiện các công việc sau:

  • In lại các phần tử đã nhập.
  • Tính tổng các phần tử trong mảng.
  • In các phần tử lẻ có trong mảng.
  • Cho biết giá trị và vị trí của phần tử nhỏ nhất trong mảng.

2. Quy trình thực hiện

2.1 Nhập mảng từ bàn phím trong Java

Để nhập mảng từ bàn phím trong Java, ta có thể làm như sau:

Scanner x = new Scanner(System.in);
for(int i = 0; i < n; i++){
    System.out.print("a[" + i + "]: ");
    a[i] = x.nextInt();
}

Trong đoạn code trên, Scanner được sử dụng để đọc dữ liệu từ người dùng thông qua bàn phím. Dòng System.out.print("a[" + i + "]: ") sẽ hiển thị thông báo yêu cầu người dùng nhập giá trị cho phần tử thứ i của mảng. Dòng a[i] = x.nextInt() sẽ đọc giá trị nguyên từ người dùng và gán vào phần tử thứ i của mảng a.

2.2 In mảng trong Java

Để in mảng trong Java, ta có thể duyệt qua từng phần tử của mảng và sử dụng System.out.print(a[i] + " ") để hiển thị giá trị của phần tử thứ i, cách nhau bởi dấu cách.

2.3 Tính tổng các phần tử của mảng trong Java

Để tính tổng các phần tử của mảng trong Java, ta có thể sử dụng một biến sum được khởi tạo ban đầu bằng 0. Sau đó, duyệt qua từng phần tử của mảng và sử dụng công thức sum = sum + a[i] để tính tổng các phần tử và lưu kết quả vào biến sum. Cuối cùng, sử dụng System.out.println("Tổng mảng là: " + sum) để hiển thị tổng của mảng đã nhập.

2.4 In các phần tử lẻ có trong mảng java

Để in các phần tử lẻ có trong mảng java, ta có thể sử dụng điều kiện if(a[i] % 2 != 0) để kiểm tra xem phần tử thứ i có phải là số lẻ hay không. Nếu là số lẻ, ta sẽ hiển thị phần tử đó trên cùng một dòng, cách nhau bởi dấu cách.

2.5 Cho biết giá trị và vị trí phần tử nhỏ nhất có trong mảng java

Để tìm giá trị nhỏ nhất và vị trí của phần tử đó trong mảng, ta có thể sử dụng một biến gtnn (giá trị nhỏ nhất) được khởi tạo ban đầu bằng phần tử đầu tiên của mảng. Ta cũng khởi tạo biến vt (vị trí) với giá trị ban đầu là 0, đại diện cho vị trí của phần tử nhỏ nhất trong mảng.

Sau đó, ta duyệt qua từng phần tử của mảng và sử dụng điều kiện if(a[i] < gtnn) để kiểm tra xem phần tử thứ i có nhỏ hơn giá trị nhỏ nhất hiện tại hay không. Nếu có, ta sẽ cập nhật gtnn với giá trị của phần tử thứ i và vt với vị trí của phần tử đó.

Cuối cùng, ta sẽ hiển thị giá trị của phần tử nhỏ nhất và vị trí của nó trong mảng sử dụng System.out.println("Phần tử nhỏ nhất là: " + gtnn + ", vị trí: " + vt).

3. Code đầy đủ


package bài.pkg1;

import java.util.Scanner;

public class Bài1 {
    // Nhập mảng
    public static void nhapmang(int a[], int n){
        Scanner x = new Scanner(System.in);
        for(int i = 0; i < n; i++){
            System.out.print("a[" + i + "]: ");
            a[i] = x.nextInt();
        }
    }

    // Hiển thị mảng
    public static void hienmang(int a[], int n){
        System.out.print("Mảng vừa nhập là: ");
        for(int i = 0; i < n; i++){
            System.out.print(a[i] + " ");
        }
        System.out.println("");
    }

    // Tính tổng mảng
    public static void tongmang(int a[], int n){
        float sum = 0;
        for(int i = 0; i < n; i++){
            sum = sum + a[i];
        }
        System.out.println("Tổng mảng là: " + sum);
    }

    // In các phần tử lẻ
    public static void phantule(int a[], int n){
        System.out.print("Các phần tử lẻ trong mảng là: ");
        for(int i = 0; i < n; i++){
            if(a[i] % 2 != 0){
                System.out.print(a[i] + " ");
            }
        }
        System.out.println("");
    }

    // Tìm phần tử nhỏ nhất
    public static void min(int a[], int n){
        int gtnn = a[0];
        int vt = 0;
        for(int i = 0; i < n; i++){
            if(a[i] < gtnn){
                gtnn = a[i];
                vt = i;
            }
        }
        vt = vt + 1;
        System.out.println("Phần tử nhỏ nhất là: " + gtnn + ", vị trí: " + vt);
    }

    public static void menu(){
        System.out.println("1. Nhập mảng");
        System.out.println("2. Hiển thị mảng");
        System.out.println("3. Tính tổng mảng");
        System.out.println("4. In các phần tử lẻ");
        System.out.println("5. Tìm phần tử nhỏ nhất");
        System.out.println("6. Thoát");
    }

    public static void main(String[] args) {
        int n;
        int chon;
        Scanner x = new Scanner(System.in);
        System.out.print("Nhập số phần tử của mảng: ");
        n = x.nextInt();
        int a[] = new int [n];
        do{
            menu();
            System.out.println("Lựa chọn:");
            chon = x.nextInt();
            switch(chon){
                case 1:
                    nhapmang(a, n);
                    break;
                case 2:
                    hienmang(a, n);
                    break;
                case 3:
                    tongmang(a, n);
                    break;
                case 4:
                    phantule(a, n);
                    break;
                case 5:
                    min(a, n);
                    break;
            }
        }
        while(chon != 0);
    }
}

## 4. Kết quả

![Java](https://nanado.edu.vn/uploads/images/blog/admin/2024/02/07/java-khai-bao-va-nhap-xuat-mang-tu-ban-phim-1707259602.webp)

Trên đây là chương trình cơ bản để nhập và xuất một mảng số nguyên từ bàn phím bằng ngôn ngữ lập trình Java. Hy vọng bài viết này đã giúp các bạn hiểu rõ hơn về quy trình này. Cảm ơn đã theo dõi trên ttnguyen.net
1