Nhập xuất mảng trong java – Hướng dẫn chi tiết

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

Xem thêm:

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. Thực hiện:

– In lại các phần tử đã nhập.

– Tính tổng các phần tử mảng.

– In các phần tử lẻ có trong mảng.

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

2. Ý tưởng thực hiện

2.1 Khai báo và khởi tạo mảng trong Java

  • Sử dụng cú pháp int[] a = new int[n]; để khai báo mảng có kích thước n.
  • Nhập kích thước mảng từ bàn phím bằng Scanner.

2.2 Nhập mảng trong java

  • Scanner x = new Scanner(System.in): Đoạn code này tạo một đối tượng Scanner để đọc dữ liệu từ người dùng thông qua bàn phím.
  • System.out.print("a["+i+"]: "): Dòng này 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.
  • a[i]=x.nextInt(): Đoạn code này 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.
Scanner x = new Scanner(System.in);
for(int i = 0; i < n; i++) {
    System.out.print("a[" + i + "]: ");
    a[i] = x.nextInt();
}

2.3 Xuất mảng trong java

  • Duyệt vòng lặp for, sử dụngSystem.out.print(a[i]+" ") để hiển thị giá trị của phần tử thứ i của mảng a, cách nhau bởi dấu cách.
for(int i = 0; i < n; i++) {
    System.out.print(a[i] + " ");
}

2.4 Tính tổng các phần tử mảng java

  • float sum = 0;: Biến sum được khởi tạo với giá trị ban đầu bằng 0, sẽ được sử dụng để tính tổng các phần tử của mảng.
  • Duyệt vòng lặp for, sử dụngsum = sum + a[i]; để tính tổng của các phần tử mảng bằng cách cộng giá trị của từng phần tử vào biến sum.
  • System.out.println("Tổng mảng vừa nhập là: " + sum);: Dòng này sẽ hiển thị tổng của mảng đã nhập.
float sum = 0;
for(int i = 0; i < n; i++) {
    sum += a[i];
}
System.out.println("Tổng mảng là: " + sum);

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

  • if(a[i] % 2 != 0): Điều kiện này kiểm tra xem phần tử thứ i của mảng có phải là số lẻ hay không.
  • System.out.print(a[i] + " ");: Nếu phần tử thứ i là số lẻ, nó sẽ được hiển thị trên cùng một dòng, cách nhau bởi dấu cách.
for(int i = 0; i < n; i++) {
    if(a[i] % 2 != 0) {
        System.out.print(a[i] + " ");
    }
}

2.6 Tìm phần tử nhỏ nhất và vị trí

  • int gtnn = a[0];: Biến gtnn (giá trị nhỏ nhất) được khởi tạo với giá trị ban đầu bằng phần tử đầu tiên của mảng a. Khởi tạo biến vị trí với giá trị ban đầu bằng 0, đại diện cho vị trí của phần tử nhỏ nhất trong mảng.
  • if(a[i] < gtnn): Điều kiện này kiểm tra xem phần tử thứ i của mảng có nhỏ hơn giá trị nhỏ nhất hiện tại (gtnn) hay không.
  • gtnn = a[i];: Nếu phần tử thứ i nhỏ hơn gtnn, thì gtnn sẽ được cập nhật với giá trị của phần tử thứ i.
  • vt = i;: Biến vt sẽ được cập nhật với vị trí của phần tử nhỏ nhất trong mảng, đó là i.
  • vt = vt + 1;: Vì vị trí trong mã nguồn bắt đầu từ 0, nên giá trị của vt sẽ được tăng lên 1 để thể hiện vị trí thực tế trong mảng.
  • System.out.println("Phần tử nhỏ nhất là: " + gtnn + ", vị trí: " + vt);: Dòng này sẽ hiển thị giá trị của phần tử nhỏ nhất và vị trí của nó trong mảng.
int min = a[0], pos = 0;
for(int i = 1; i < n; i++) {
    if(a[i] < min) {
        min = a[i];
        pos = i;
    }
}
System.out.println("Phần tử nhỏ nhất là: " + min + ", vị trí: " + (pos + 1));

3. Code tham khảo

Dưới đây là code hoàn chỉnh để giải quyết bài toán trên:

import java.util.Scanner;

public class Bài1 {
    //nhap mang
    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();
        }
    }
    //hien mang
    public static void hienmang(int a[], int n){
        System.out.print("Mang vua nhap la: ");
        for(int i=0;i<n;i++){
            System.out.print(a[i]+" ");
        }
        System.out.println("");
    }
    // tinh tong mang
    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("Tong mang vua nhap la: "+sum);
    }
    // tim phan tu le trong mang
    public static void phantule(int a[], int n){
        
        System.out.print("Cac phan tu le trong mang la:");
        for(int i=0;i<n;i++){
            if(a[i]%2!=0){
                System.out.print(a[i]+" ");
            }
        }
        System.out.println("");
    }
    
    // tim phan tu nho nhat trong mang
    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("Phan tu nho nhat la:"+gtnn+" vi tri: "+vt);
    }
    
    public static void menu(){
        System.out.println("1. Nhap mang");
        System.out.println("2. Hien mang");
        System.out.println("3. Tong mang");
        System.out.println("4. In phan tu le");
        System.out.println("5. Phan tu nho nhat");
        System.out.println("6. Thoat");
    }
    
    public static void main(String[] args) {
        int n;
        int chon;
        Scanner x = new Scanner(System.in);
        System.out.print("Nhap so phan tu cua mang: ");
        n=x.nextInt();
        int a[] = new int [n];
        do{
            menu();
            System.out.println("Luachon:");
            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ả chạy chương trình

Full source code:

Trên đây là chương trình cơ bản về nhập xuất một mảng số nguyên từ bàn phím bằng ngôn ngữ lập trình java. Cảm ơn các bạn đã tham khảo bài tập lập trình hướng đối tượng java trên ttnguyen.net.

Bài viết liên quan:

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em