Tìm giá trị lớn nhất trong mảng Java

Cách tìm phần tử nhỏ nhất và lớn nhất trong một Mảng (Array) trong Java?

Nội dung chính

Show

  • Viết chương trình tìm số lớn nhất trong mảng
  • Viết chương trình tìm số nhỏ nhất trong mảng
  • Video liên quan

Ví dụ sau minh họa cách tìm phần tử nhỏ nhất và lớn nhất trong một Mảng (Array) bởi sử dụng phương thức Collection.max() và Collection.min() trong Java.

import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
Integer[] numbers = { 8, 2, 7, 1, 4, 9, 5};
int min = (int) Collections.min(Arrays.asList(numbers));
int max = (int) Collections.max(Arrays.asList(numbers));
System.out.println(“Min number: ” + min);
System.out.println(“Max number: ” + max);
}
}
Min number: 1
Max number: 9

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng….miễn phí. Tải ngay ứng dụng trên Android và iOS.

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/
Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile…. mới nhất của chúng tôi.

Demo một bài giảng trong khóa học online tại vietjackteam.

This entry is part 41 of 69 in the series Học C Không Khó

81
/ 100

Bài toán: Nhập vào mảng một chiều. Hãy tìm số lớn nhất trong mảng, tìm số nhỏ nhất trong mảng.

  • Input
  • Output

Viết chương trình tìm số lớn nhất trong mảng

Để tìm số lớn nhất trong mảng ta thực hiện các bước như sau

  • Khởi tạo giá trị max=a[0]
  • Duyệt lần lượt các phần tử của mảng. Nếu phần tử nào có giá trị lớn max thì ta tiến hành gán giá trị đó cho max.
  • Sau khi duyệt hết các phần tử của mảng thì ta tiến hành trả về giá trị của max
  • Hàm max sẽ có kiểu trả về là kiểu int (hoặc kiểu long cũng được ).
  • Cần có hai tham số truyền vào là: tên mảng và số lượng phần tử.

Code tham khảo cách viết hàm tìm giá trị lớn nhất trong mảng như sau

int max(int a[], int n)

{

    int max = a[0];

    for (int i = 1; i < n; i++)

        if (max < a[i])

            max = a[i];

    return max;

}

Viết chương trình tìm số nhỏ nhất trong mảng

Tương tự như trên ta cũng làm lần lượt các bước

  • Khởi tạo giá trị min=a[0]
  • Duyệt lần lượt các phần tử của mảng. Nếu phần tử nào có giá trị nhỏ hơn min thì ta tiến hành gán giá trị đó cho min.
  • Sau khi duyệt hết các phần tử của mảng thì ta tiến hành trả về giá trị của min.
  • Hàm

    min

     sẽ có kiểu trả về là kiểu int (hoặc kiểu long cũng được ).

  • Cần có hai tham số truyền vào là: tên mảng và số lượng phần tử.

Code tham khảo cách viết hàm tìm giá trị nhỏ nhất như sau

int min(int a[], int n)

{

    int min = a[0];

    for (int i = 1; i < n; i++)

        if (min > a[i])

            min = a[i];

    return min;

}

Sau khi viết được hai hàm tính min, max thì chương trình của chúng ta đã có thể giải quyết được bài toán ở trên.

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

#include <stdio.h>

void nhap(int a[], int n)

{

    for (int i = 0; i < n; i++)

    {

        printf(“Nhap vao phan tu a[%d]: “, i);

        scanf(“%d”, &a[i]);

    }

}

int max(int a[], int n)

{

    int max = a[0];

    for (int i = 1; i < n; i++)

        if (max < a[i])

            max = a[i];

    return max;

}

int min(int a[], int n)

{

    int min = a[0];

    for (int i = 1; i < n; i++)

        if (min > a[i])

            min = a[i];

    return min;

}

int main()

{

    int a[1000];

    int n;

    printf(“\nNhap n = “);

    scanf(“%d”, &n);

    nhap(a, n);

    printf(“\nMax = %d”, max(a, n));

    printf(“\nMin = %d”, min(a, n));

    return 0;

}

Nhap n = 5

Nhap vao phan tu a[0]: 12

Nhap vao phan tu a[1]: 16

Nhap vao phan tu a[2]: 19

Nhap vao phan tu a[3]: 32

Nhap vao phan tu a[4]: 14

Max = 32

Min = 12

Bài viết của mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi! Theo dõi lập trình không khó tại: