06/04/2021, 14:47

Cách kiểm tra số đối xứng trong 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ẽ kiểm tra một số có phải là số đối xứng hay không. Một số là số đối xứng khi số đảo ngược của nó cũng bằng chính nó (ví dụ: 1234321, khi đảo ngược cũng bằng chính nó). Mình sẽ giới thiệu cách kiểm tra số đối xứng bằng vòng lặp while và vòng lặp for. Vì vậy các bạn ...

Trong bài viết này chúng ta sẽ kiểm tra một số có phải là số đối xứng hay không. Một số là số đối xứng khi số đảo ngược của nó cũng bằng chính nó (ví dụ: 1234321, khi đảo ngược cũng bằng chính nó).

Mình sẽ giới thiệu cách kiểm tra số đối xứng bằng vòng lặp while và vòng lặp for. Vì vậy các bạn hãy tìm hiểu hai vòng lặp này trước khi thực hiện nhé.

Kiểm tra số đối xứng bằng vòng lặp while trong Java.

Trong phần này mình sẽ kiểm tra một số có phải là số đối xứng hay không bằng cách sử dụng vòng lặp while.

Thực chất số đối xứng là một hệ quả của số đảo ngược, ta sẽ áp dụng nó để kiểm tra số đối xứng.

while(num1 != 0) {
      int digit = num1 % 10;
      reversed = reversed * 10 + digit;
      num1 /= 10;
    }

Nếu số đảo ngược của nó bằng chính nó thì số đó chính là số đối xứng. Để tìm hiểu về số đảo ngược các bạn có thể tham khảo tại đây.

Ví dụ: Mình sẽ áp dụng thuật toán trên để viết một chương trình kiểm tra số đối xứng.

import java.util.Scanner;
public 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 num1 là số cần kiểm tra đối xứng
    //reversed là số sau khi đảo ngược
    //original là biến để lưu lại số cần kiểm tra
    int num1, reversed = 0, original;
    System.out.println("

Nhập vào số cần kiểm tra: ");
    num1 = sc.nextInt();
    //gán giá trị vừa nhập vào cho biến original để so sánh với reversed
    original = num1;
    //sử dụng vòng lặp while để đảo ngược num1
    while(num1 != 0) {
      int digit = num1 % 10;
      reversed = reversed * 10 + digit;
      num1 /= 10;
    }
    //so sánh reversed (số đảo ngược) với original (số ban đầu)
    //nếu bằng thì là số đối xứng
    if(reversed == original){
      System.out.println(original+ " là số đối xứng!!");
    }
    //không bằng thì không phải số đối xứng
    else{
      System.out.println(original+ " không phải là số đối xứng!!");
    }

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

Kết quả:

bai4 01 PNG

Kiểm tra số đối xứng bằng vòng lặp for trong Java.

Tương tự như ở phần trên, ta chỉ cần thay vòng lặp for cho vòng lặp while để kiểm tra số đối xứng.

for(;num1 != 0; num1 /= 10) {
      int digit = num1 % 10;
      reversed = reversed * 10 + digit;
    }

Ví dụ: Mình sử dụng vòng lặp for để viết một chương trình kiểm tra số đối xứng hoàn chỉnh bằng ngôn ngữ Java.

import java.util.Scanner;
public 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 num1 là số cần kiểm tra đối xứng
    //reversed là số sau khi đảo ngược
    //original là biến để lưu lại số cần kiểm tra
    int num1, reversed = 0, original;
    System.out.println("

Nhập vào số cần kiểm tra: ");
    num1 = sc.nextInt();
    //gán giá trị vừa nhập vào cho biến original để so sánh với reversed
    original = num1;
    //sử dụng vòng lặp for để đảo ngược num1
    for(;num1 != 0; num1 /= 10) {
      int digit = num1 % 10;
      reversed = reversed * 10 + digit;
    }
    //so sánh reversed (số đảo ngược) với original (số ban đầu)
    //nếu bằng thì là số đối xứng
    if(reversed == original){
      System.out.println(original+ " là số đối xứng!!");
    }
    //không bằng thì không phải số đối xứng
    else{
      System.out.println(original+ " không phải là số đối xứng!!");
    }

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

Kết quả:

bai4 02 PNG

Như vậy là chúng ta đã tìm hiểu xong cách cách kiểm tra một số có phải là số đối xứng hay không. 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