Giới thiệu
Bài viết minh họa cách lấy ký tự đầu tiên từ EditText, kiểm tra xem nó có phải là chữ số không, và xác định số chẵn hay lẻ.
Các bước thực hiện
Bước 1: Tạo project mới
Android Studio → File → New Project → Empty Activity.
Bước 2: Giao diện (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">
<EditText
android:id="@+id/etInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nhập chuỗi bắt đầu bằng số"
android:inputType="number"
android:maxLength="20" />
<Button
android:id="@+id/btnCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="Kiểm tra" />
</LinearLayout>
Bước 3: Logic xử lý (MainActivity.kt)
package com.example.checkevenodd
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btnCheck.setOnClickListener {
val input = etInput.text.toString().trim()
if (input.isEmpty()) {
Toast.makeText(this, "Vui lòng nhập dữ liệu", Toast.LENGTH_SHORT).show()
return@setOnClickListener
}
val firstChar = input.first()
if (firstChar.isDigit()) {
val digit = firstChar.digitToInt()
val result = if (digit % 2 == 0) "chẵn" else "lẻ"
Toast.makeText(this, "Ký tự đầu '$firstChar' là số $result", Toast.LENGTH_LONG).show()
} else {
Toast.makeText(this, "Ký tự đầu '$firstChar' không phải là số", Toast.LENGTH_LONG).show()
}
}
}
}
Giải thích code
input.first(): Lấy ký tự đầu tiên của chuỗi (Kotlin extension).firstChar.isDigit(): Kiểm tra có phải chữ số 0-9 không.firstChar.digitToInt(): Chuyển char '0'-'9' thành Int 0-9.digit % 2 == 0: Kiểm tra chẵn/lẻ.
Cải tiến: Kiểm tra toàn bộ chuỗi là số
if (input.all { it.isDigit() }) {
// Toàn bộ là số
val number = input.toIntOrNull()
// Xử lý số lớn...
}
Lưu ý
android:inputType="number"chỉ giới hạn bàn phím, người dùng vẫn có thể paste text khác.- Luôn validate lại dữ liệu trong code.
- Xử lý trường hợp chuỗi rỗng để tránh crash.