06/04/2021, 14:47

Cách viết hoa ký tự đầu tiên 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 viết hoa ký tự đầu tiên trong Java. Ví dụ chúng ta có chuỗi "Zaidap.com.net" sau khi chuyển đổi sẽ thành "Zaidap.com.net". Để hiểu được bài này, các bạn cần có kiến thức căn bản về Java: Nhập xuất trong ...

Trong bài viết nãy chúng ta sẽ tìm hiểu về cách viết hoa ký tự đầu tiên trong Java. Ví dụ chúng ta có chuỗi "Zaidap.com.net" sau khi chuyển đổi sẽ thành "Zaidap.com.net".

Để hiểu được bài này, các bạn cần có kiến thức căn bản về Java:

  • Nhập xuất trong Java.
  • Chuỗi trong Java.
  • Các phương thức trong String Java.

1. In hoa ký tự đầu tiên của một chữ

Ở ví dụ này mình sẽ in hoa ký tự đầu bằng phương pháp thủ công. Cụ thể là mình sẽ tách chữ ban đầu thành hai phần: 1 phần là ký tự đầu tiên của chữ và phần thứ hai là các ký tự còn lại.

Sau đó sử dụng phương thức toUpperCase() để in hoa phần đầu tiên rồi gộp hai phần đó lại.

import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    //khai báo và khởi tạo một string name
    String name = "Zaidap.com.net";
    System.out.println("

Chuỗi ban đầu: " + name);
    // tạo hai chuỗi con firstLetter và remainingLetters
    // chuỗi firstLetter chứa chữ cái đầu tiên của  name
    String firstLetter = name.substring(0, 1);
    // chuỗi remainingLetters chứa phần còn lại của name
    String remainingLetters = name.substring(1, name.length());

    //sử dụng phương thức toUpperCase() để chuyển đổi firstLetter thành chữ in hoa
    firstLetter = firstLetter.toUpperCase();

    //sau khi chuyển đổi thì gộp chúng lại
    name = firstLetter + remainingLetters;
    System.out.println("Chuỗi sau khi đổi: " + name);

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

Kết quả:

bai16 01 PNG

2. In hoa ký tự đầu tiên của mỗi chữ trong chuỗi

Ở ví dụ này chúng ta cần in hoa ký tự đầu của mỗi chữ trong một chuỗi, vì vậy không thể sử dụng phương pháp thủ công.

Thay vào đó ta sẽ chuyển chuỗi thành một mang char, khi đó ta có thể dùng vòng lặp for để duyệt từng ký tự trong mảng.

Khi đó đơn giản ta chỉ cần sử dụng phương thức toUpperCase() để in hoa ký tự đầu của mỗi phần tử trong mảng.

Cuỗi cùng mình sẽ sử dụng phương thức String.valueOf() để chuyển mảng char thành string, 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 ký tự đầu: ");
    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();
    boolean foundSpace = true;
    //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++) {
      // nếu phần tử trong mảng là một chữ cái
      if(Character.isLetter(charArray[i])) {
        // kiểm tra khoảng trắng có trước chữ cái
        if(foundSpace) {
          //đổi chữ cái thành chữ in hoa bằng phương thức toUpperCase()
          charArray[i] = Character.toUpperCase(charArray[i]);
          foundSpace = false;
        }
      }
      else {
        foundSpace = true;
      }
    }
    // 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ả:

bai16 02 PNG

Như vậy là chúng ta đã tìm hiểu xong cách viết hoa ký tự đầu tiên của mỗi ký tự 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