06/04/2021, 14:47

Cách chuyển chữ thường thành chữ hoa 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ẽ tìm hiểu về cách chuyển đổi chữ thường thành chữ in hoa trong Java. Ví dụ người dùng nhập vào chuỗi "Zaidap.com.net" sau khi đổi sẽ thành "FRETUTS.NET". Trong chuỗi có thể vừa có ký tự thường vừa có ký tự hoa, nhưng sau khi chuyển đổi thì tất cả đều thành chữ in ...

Trong bài viết này chúng ta sẽ tìm hiểu về cách chuyển đổi chữ thường thành chữ in hoa trong Java. Ví dụ người dùng nhập vào chuỗi "Zaidap.com.net" sau khi đổi sẽ thành "FRETUTS.NET".

Trong chuỗi có thể vừa có ký tự thường vừa có ký tự hoa, nhưng sau khi chuyển đổi thì tất cả đều thành chữ in hoa.

1. Chuyển chữ thường thành chữ hoa trong Java sử dụng mã ASCII

Trước khi viết chương trình, chúng ta cùng tìm hiểu về mã ASCII đã nhé.

Theo như bảng mã ASCII thì tất cả các ký tự chữ hoa (A-Z) có giá trị ASCII nằm trong khoảng từ 65 đến 90. Các ký tự chữ thường tương ứng (a-z) của chúng có giá trị ASCII từ 97 đến 122 (hơn 32).

Ví dụ: ký tự 'A' có mã ASCII là 65 thì ký tự 'a' có mã ASCII = 65 + 32 = 97.

Áp dụng nó ta sẽ chuyển đổi tất cả ký tự trong một chuỗi thành chữ in hoa.

Cụ thể ta sẽ sử phương thức toCharArray() để chuyển đổi string thành mảng char. Khi đó ta có thể sử dụng vòng lặp for để duyệt từng phần tử trong mảng.

Nếu ký tự nào nằm trong khoảng >= 97 và <= 122 thì trừ đi 32, khi đó ký tự sẽ thành chữ hoa.

import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    // sử dụng class Scanner để nhận dữ liệu từ bàn phím
    Scanner sc = new Scanner(System.in);
    String message;
    System.out.println("

Nhập vào chuỗi cần in hoa: ");
    message = sc.nextLine();
    //khai báo một mảng, sau đó sử dụng phương thức toCharArray() 
    //để chuyển đổi message thành một mảng kiểu char
    char[] charArray = message.toCharArray();
    //sử dụng vòng lặp for để duyệt các phần tử trong charArray
    for(int i = 0; i < charArray.length; i++) {
      if(charArray[i] >= 97 && charArray[i] <= 122){
        charArray[i] -= 32;
      }
    }
    // chuyển đổi mảng char thành string
    message = String.valueOf(charArray);
    System.out.println("Chuỗi sau khi đổi: 
" + message);

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

Kết quả:

bai17 03 PNG

2. Dùng hàm toUpperCase chuyển chữ thường thành chữ hoa trong Java

Trong class String Java có một phương thức có thể chuyển tất cả ký tự trong một chuỗi thành chữ in hoa đó chính là phương thức toUpperCase().

Vây nên ta chỉ cần yêu cầu người dùng nhập vào một chuỗi, sau đó sử dụng phương thức toUpperCase() để chuyển đổi rồi in ra màn hình.

import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    // sử dụng class Scanner để nhận dữ liệu từ bàn phím
    Scanner sc = new Scanner(System.in);
    String message;
    System.out.println("

Nhập vào chuỗi cần in hoa: ");
    message = sc.nextLine();
    System.out.println("Chuỗi sau khi in hoa: ");
    //sử dụng phương thức toUpperCase() để in hoa các ký tự trong chuỗi
    System.out.println(message.toUpperCase());
    System.out.println("
---------------------------------");
    System.out.println("Chương trình này được đăng tại Zaidap.com.net");
  }
}

Kết quả:

bai17 02 PNG

Như vậy là chúng ta đã tìm hiểu xong cách chuyển chữ thường thành chữ in hoa trong Java. Các bạn có thể tìm hiểu về các bài tập Java khác tại đây, 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