06/04/2021, 14:47

ìm số lớn nhất trong mảng Java - Bài tập Java có lời giải cơ bản đến nâng cao

Trong bài viết này chúng ta sẽ tìm hiểu về cách tìm số lớn nhất trong mảng trong Java. Đây là dạng bài tập thường gặp khi bắt đầu học một ngôn ngữ lập trình nào đó. Các bạn cần tìm hiểu về mảng, cách khởi tạo và in mảng trong Java trước đã nhé. Các bạn có thể tham thảo về mảng một chiều trong ...

Trong bài viết này chúng ta sẽ tìm hiểu về cách tìm số lớn nhất trong mảng trong Java. Đây là dạng bài tập thường gặp khi bắt đầu học một ngôn ngữ lập trình nào đó.

Các bạn cần tìm hiểu về mảng, cách khởi tạo và in mảng trong Java trước đã nhé. Các bạn có thể tham thảo về mảng một chiều trong Java.

Tìm số lớn nhất trong mảng Java đã khởi tạo sẵn

Đầu tiên mình sẽ khai báo một mảng numberArr[], sau đó khởi tạo các giá trị cho nó.

double[] numberArr = { 12.3, -4, 10, 4.24, 2, 71, -2, -6 };

Tiếp đến chúng ta cần một biến max làm biến trung gian được sử dụng để so sánh với các giá trị khác trong mảng. Max sẽ được gán bằng giá trị của phần tử đầu tiên trong mảng.

Dùng một vòng lặp for để lặp tất cả các phần tử trong mảng và in nó ra màn hình.

System.out.println("

Các phần tử trong mảng là: ");
for(double i : numberArr){
  System.out.print(i + ", ");
}

Cuối cùng ta cần thêm một vòng lặp for nữa để so sánh max với từng phần tử trong mảng, nếu số nào lớn hơn max thì gán nó cho max.

for (double num: numberArr) {
      if(max < num)
        max = num;
    }

Ví dụ: Mình sẽ viết một chương trình hoàn chỉnh để tìm số lớn nhất trong mảng đã khởi tạo giá trị sẵn.

import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    //khai báo một mảng numberArr sau đó khởi tạo các giá trị cho các phần tử.
    double[] numberArr = { 12.3, -4, 10, 4.24, 2, 71, -2, -6 };
    //gán giá trị của phần tử đầu tiên cho max, sau đó dùng max so sánh với các phần tử còn lại trong mảng.
    double max = numberArr[0];
    //in các phần tử trong mảng ra màn hình
    System.out.println("

Các phần tử trong mảng là: ");
    for(double i : numberArr){
      System.out.print(i + ", ");
    }
    //dùng vòng lặp for duyệt các phần tử trong mảng. so sánh max với từng phần tử nếu số nào lớn hơn max thì gán nó cho max.
    // cứ lặp như vậy cho đến hết các phần tử thì max sẽ là giá trị lớn nhất trong mảng
    for (double num: numberArr) {
      if(max < num)
        max = num;
    }
    System.out.printf("
Số lớn nhất trong mảng là: %.2f", max);

    System.out.println("
----------------------------------");
    System.out.println("Chương trình này được đăng tại Zaidap.com.net");
  }
}

Kết quả:

bai7 01 PNG

Tìm số lớn nhất trong mảng Java được nhập từ bàn phím.

Tương tư như ví dụ ở trên, nhưng trong phần này mình sẽ sử dụng class Scanner để lấy dữ liệu từ bàn phím. Nhớ import thư viện ở đầu file trước đã nhé:

import java.util.Scanner;

Chúng ta cần một biến n là số lượng các phần tử trong mảng, n được nhập từ bàn phím.

Tiếp đến cần một vòng lặp for lặp từ 0 đến n để nhập giá trị cho các phần tử trong mảng.

//nhập giá trị cho từng phần tử trong mảng
    for (int i = 0; i < n; i++) {
      System.out.print("
Nhập phần tử thứ " + i + ": ");
      numberArr[i] = sc.nextInt();
    }

Như vậy là ta đã có dữ liệu để thực hiện tìm số lớn nhất, bây giờ thực hiện như ví dụ 1 là có thể tìm được số lớn nhất trong mảng rồi đấy.

Ví dụ: Mình sẽ viết hoàn chỉnh chương trình tìm số lớn nhất trong mảng được nhập từ bàn phím.

import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    //sử dụng class Scanner để lấy dữ liệu từ bàn phím
    Scanner sc = new Scanner(System.in);
    //khai báo biến n là số lượng phần tử trong mảng
    int n;
    System.out.print("

Nhập số lượng phần tử cho mảng: ");
    n = sc.nextInt();
    int numberArr[] = new int[n];
    //nhập giá trị cho từng phần tử trong mảng
    for (int i = 0; i < n; i++) {
      System.out.print("
Nhập phần tử thứ " + i + ": ");
      numberArr[i] = sc.nextInt();
    }
    //in các phần tử trong mảng ra màn hình
    System.out.println("Các phần tử trong mảng là: ");
    for(double i : numberArr){
      System.out.print(i + ", ");
    }
    double max = numberArr[0];
    //dùng vòng lặp for duyệt các phần tử trong mảng. so sánh max với từng phần tử nếu số nào lớn hơn max thì gán nó cho max.
    // cứ lặp như vậy cho đến hết các phần tử thì max sẽ là giá trị lớn nhất trong mảng
    for (double num: numberArr) {
      if(max < num)
        max = num;
    }
    System.out.printf("
Số lớn nhất trong mảng là: %.2f", max);

    System.out.println("
----------------------------------");
    System.out.println("Chương trình này được đăng tại Zaidap.com.net");
  }
}

Kết quả:

bai7 02 PNG

Như vậy là chúng ta đã tìm hiểu xong cách tìm kiếm số lớn nhất trong mảng trong Java. Các bạn có thể tham khảo các bài tập Java khác tại Bài tập Java, Chúc các bạn thành công !!!

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0