이 예제는 안드로이드에서 EditText에 입력된 값의 첫 번째 숫자가 짝수인지 홀수인지 판별하는 방법을 보여줍니다. 사용자가 입력한 숫자의 첫 자리를 추출한 뒤, 나머지 연산(%)을 활용해 짝수와 홀수를 구분하고 그 결과를 Toast 메시지로 화면에 표시합니다.
1단계 — 새 프로젝트 생성
Android Studio에서 새 프로젝트를 생성합니다. 상단 메뉴에서 File ⇒ New Project를 선택한 후, 프로젝트 생성에 필요한 모든 세부 정보를 입력합니다.
2단계 — 레이아웃 파일 작성
res/layout/activity_main.xml 파일에 아래 코드를 추가합니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="https://schemas.android.com/apk/res-auto"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<EditText
android:id="@+id/edit_query"
android:layout_width="match_parent"
android:hint="Enter something"
android:inputType="number"
android:layout_height="wrap_content" />
<Button
android:id="@+id/buttonPanel"
android:text="Click"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>위 코드에서는 숫자만 입력할 수 있도록 inputType="number" 속성이 설정된 EditText와, 클릭 시 판별 로직을 실행할 Button 뷰를 배치했습니다. 버튼을 누르면 EditText에 입력된 데이터가 짝수로 시작하는지 검증하게 됩니다.
3단계 — MainActivity 코드 작성
java/MainActivity.java 파일에 아래 코드를 추가합니다.
package com.example.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText edit_query = findViewById(R.id.edit_query);
findViewById(R.id.buttonPanel).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String data = edit_query.getText().toString();
if (!data.isEmpty()) {
char c = data.charAt(0);
if (c%2==0)
Toast.makeText(MainActivity.this, c + " is even", Toast.LENGTH_LONG).show();
else
Toast.makeText(MainActivity.this, c + " is odd.", Toast.LENGTH_LONG).show();
}
}
});
}
}코드 동작 원리
핵심 로직은 다음과 같습니다.
① getText().toString()으로 EditText에 입력된 값을 문자열로 가져옵니다.
② isEmpty()로 빈 값 여부를 먼저 확인해 오류를 방지합니다.
③ charAt(0)으로 첫 번째 문자(숫자)를 추출합니다.
④ 문자를 char 타입 그대로 % 2 연산하면 해당 문자의 ASCII 코드값에 대한 나머지가 계산되어, 결과적으로 짝수/홀수를 판별할 수 있습니다.
⑤ 판별 결과에 따라 "is even(짝수)" 또는 "is odd(홀수)"라는 Toast 메시지를 화면에 표시합니다.
참고: 더 명확한 판별을 원한다면 Character.getNumericValue(c) % 2 == 0처럼 문자를 실제 숫자 값으로 변환한 뒤 나머지를 계산하는 방식도 사용할 수 있습니다.앱 실행 및 결과 확인
이제 애플리케이션을 실행해 보겠습니다. 실제 안드로이드 스마트폰이 컴퓨터에 연결되어 있다고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 연 뒤, 툴바의 Run(실행) 아이콘을 클릭합니다. 옵션 목록에서 본인의 모바일 기기를 선택하면, 기본 화면이 표시된 앱이 기기에서 실행됩니다.
숫자를 입력하고 Click 버튼을 누르면, 입력값의 첫 자리 숫자가 짝수인지 홀수인지에 따라 아래와 같은 결과가 화면 하단에 나타납니다.
