Trong bài viết này, chúng ta sẽ tìm hiểu cách xóa các số 0 ở đầu (leading zeros) của chuỗi. Chuỗi có số 0 ở đầu có thể được xử lý bằng vòng lặp và thay thế.
Ví dụ minh họa
Đầu vào:
Chuỗi đầu vào: 00000445566
Đầu ra mong muốn:
Kết quả: 445566
Thuật toán
- Bắt đầu
- Khai báo chuỗi
input_stringvà StringBufferstring_buffer - Gán giá trị
- Duyệt bằng while loop tìm vị trí đầu tiên không phải '0'
- Dùng
replace(0, i, "")để xóa các số 0 ở đầu - Hiển thị kết quả
- Kết thúc
Ví dụ 1: Xử lý trực tiếp trong main
import java.util.Arrays;
import java.util.List;
public class RemoveZero {
public static void main(String[] args) {
System.out.println("Đã nhập các gói cần thiết");
String input_string = "00000445566";
System.out.println("\nChuỗi được định nghĩa: " + input_string);
int i = 0;
while (i < input_string.length() && input_string.charAt(i) == '0')
i++;
StringBuffer string_buffer = new StringBuffer(input_string);
string_buffer.replace(0, i, "");
input_string = string_buffer.toString();
System.out.println(input_string);
}
}
Kết quả
Đã nhập các gói cần thiết Chuỗi được định nghĩa: 00000445566 445566
Ví dụ 2: Sử dụng phương thức tách biệt (OOP)
import java.util.Arrays;
import java.util.List;
public class RemoveZero {
public static String remove_zero(String input_string) {
int i = 0;
while (i < input_string.length() && input_string.charAt(i) == '0')
i++;
StringBuffer string_buffer = new StringBuffer(input_string);
string_buffer.replace(0, i, "");
return string_buffer.toString();
}
public static void main(String[] args) {
System.out.println("Đã nhập các gói cần thiết");
String input_string = "00000445566";
System.out.println("\nChuỗi được định nghĩa: " + input_string);
input_string = remove_zero(input_string);
System.out.println(input_string);
}
}
Kết quả
Đã nhập các gói cần thiết Chuỗi được định nghĩa: 00000445566 445566