Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

안드로이드 EditText 입력값이 짝수로 시작하는지 홀수로 시작하는지 확인하는 방법

이 예제는 안드로이드에서 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 버튼을 누르면, 입력값의 첫 자리 숫자가 짝수인지 홀수인지에 따라 아래와 같은 결과가 화면 하단에 나타납니다.

안드로이드 EditText 입력값이 짝수로 시작하는지 홀수로 시작하는지 확인하는 방법