본문 바로가기
카테고리 없음

[kotlin] 수정된 계산기 (직접 풀어보기 4-3)

by watergrace2u 2023. 4. 13.
반응형
SMALL

MainActivity.kt 

 

package com.example.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        lateinit var edit1: EditText; lateinit var edit2:EditText;
        lateinit var btnAdd: Button; lateinit var btnSub: Button;
        lateinit var btnMul: Button; lateinit var btnDiv: Button;
        lateinit var btnMod: Button;
        lateinit var textResult: TextView;
        lateinit var num1 : String; lateinit var num2 : String;
        var result : Float? = null

        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        title="초간단 계산기(수정)"

        edit1 = findViewById<EditText>(R.id.Edit1)
        edit2 = findViewById<EditText>(R.id.Edit2)
        btnAdd = findViewById<Button>(R.id.BtnAdd)
        btnSub = findViewById<Button>(R.id.BtnSub)
        btnMul = findViewById<Button>(R.id.BtnMul)
        btnDiv = findViewById<Button>(R.id.BtnDiv)
        btnMod = findViewById<Button>(R.id.BtnMod)
        textResult = findViewById<TextView>(R.id.TextResult)

        btnAdd.setOnClickListener {
            num1 = edit1.text.toString()
            num2 = edit2.text.toString()
            if(num1.trim().equals("") || num2.trim().equals("")) {
                    Toast.makeText(getApplicationContext(),"값을 입력하세요",Toast.LENGTH_SHORT).show();
                }else {
                result = num1.toFloat() + num2.toFloat()
                textResult.text = "계산 결과 : " + result.toString()
            }

        }

        btnSub.setOnClickListener{
            num1 = edit1.text.toString()
            num2 = edit2.text.toString()
            if(num1.trim().equals("") || num2.trim().equals("")) {
                Toast.makeText(getApplicationContext(),"값을 입력하세요",Toast.LENGTH_SHORT).show();
            }else {
                result = num1.toFloat() - num2.toFloat()
                textResult.text = "계산 결과 : " + result.toString()
            }
        }
        btnMul.setOnClickListener{
            num1 = edit1.text.toString()
            num2 = edit2.text.toString()
            if(num1.trim().equals("") || num2.trim().equals("")) {
                Toast.makeText(getApplicationContext(),"값을 입력하세요",Toast.LENGTH_SHORT).show();
            }else {
                result = num1.toFloat() * num2.toFloat()
                textResult.text = "계산 결과 : " + result.toString()
            }
        }
        btnDiv.setOnClickListener{
            num1 = edit1.text.toString()
            num2 = edit2.text.toString()
            if(num1.trim().equals("") || num2.trim().equals("")) {
                Toast.makeText(getApplicationContext(),"값을 입력하세요",Toast.LENGTH_SHORT).show();
            }else {
                if(num2.trim().equals("0")){
                    Toast.makeText(getApplicationContext(),"0으로 나눌 수 없습니다",Toast.LENGTH_SHORT).show();
                }else {
                    result = num1.toFloat() / num2.toFloat()
                    textResult.text = "계산 결과 : " + result.toString()
                }

            }
        }
        btnMod.setOnClickListener {
            num1 = edit1.text.toString()
            num2 = edit2.text.toString()
            if(num1.trim().equals("") || num2.trim().equals("")) {
                Toast.makeText(getApplicationContext(),"값을 입력하세요",Toast.LENGTH_SHORT).show();
            }else {
                result = num1.toFloat() % num2.toFloat()
                textResult.text = "계산 결과 : " + result.toString()
            }
        }



    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="30dp">

    <EditText
        android:id="@+id/Edit1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:hint="숫자1" />
    <EditText
        android:id="@+id/Edit2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:hint="숫자2" />
    <Button
        android:id="@+id/BtnAdd"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="더하기"
        />
    <Button
        android:id="@+id/BtnSub"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="빼기"
        />
    <Button
        android:id="@+id/BtnMul"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="곱하기"
        />
    <Button
        android:id="@+id/BtnDiv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="나누기"
        />
    <Button
        android:id="@+id/BtnMod"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="나머지값"
        />
    <TextView
        android:id="@+id/TextResult"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:textSize="30dp"
        android:text="계산 결과 : "
        android:textColor="#ff0000"

        />


</LinearLayout>

반응형
LIST

댓글