1. 程式人生 > >安卓spinner簡單四則運算程式

安卓spinner簡單四則運算程式

在這裡插入圖片描述
佈局太簡單了,就直接給程式碼了

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center"
        tools:context=".MainActivity">
    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:orientation="horizontal"
            android:gravity="center">
        <EditText
                android:id="@+id/edt_num1"
                android:layout_width="60dp"
                android:layout_height="80dp"/>
        <Spinner
                android:id="@+id/spinner"
                android:layout_width="50dp"
                android:layout_height="80dp"
                android:entries="@array/songs">
        </Spinner>
        <EditText
                android:id="@+id/edt_num2"
                android:layout_width="60dp"
                android:layout_height="80dp"/>
        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="="
                android:textSize="30sp"/>
        <EditText
                android:id="@+id/edt_result"
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:enabled="false"/>
    </LinearLayout>
    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:orientation="horizontal"
            android:gravity="center">
        <Button
                android:id="@+id/btn_count"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="計算"/>
        <Button
                android:id="@+id/btn_clear"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="清除"/>
        <Button
                android:id="@+id/btn_quit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="退出"/>


    </LinearLayout>

</LinearLayout>

主視窗類:
步驟:
1、初始化控制元件
2、下拉列表(spinner)使用setOnItemSelectedListner類可以知道使用者選中的下拉列表中的哪一項。
在這裡插入圖片描述
3、完善單擊計算按鈕觸發的按鈕單擊事件處理,獲得兩個文字框中輸入的字串,判斷是否為空判斷下拉列表的選中引數,根據不同的字元呼叫不同的計算方法。防止可能定義出安卓的保留字或者關鍵字,所以每個方法名都由字母+1表示。
在這裡插入圖片描述
在這裡插入圖片描述

退出和清空方法:
在這裡插入圖片描述

主視窗程式碼:

package com.example.a15114.fouroperations;

import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.*;

public class MainActivity extends AppCompatActivity {
    EditText edt_num1;
    EditText edt_num2;
    EditText edt_result;
    Button count;
    Button clear;
    Button quit;
    Spinner spinner;
    String sign;
    String num1;
    String num2;
    String result;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edt_num1=findViewById(R.id.edt_num1);
        edt_num2=findViewById(R.id.edt_num2);
        edt_result=findViewById(R.id.edt_result);
        count=findViewById(R.id.btn_count);
        clear=findViewById(R.id.btn_clear);
        quit=findViewById(R.id.btn_quit);
        spinner=findViewById(R.id.spinner);

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                sign=spinner.getSelectedItem().toString();
                System.out.println(""+sign);
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
        count.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                num1=edt_num1.getText().toString().trim();
                num2=edt_num2.getText().toString().trim();


                if ((!num1.equals(""))&&(!num2.equals(""))){
                    int firstnumber=Integer.parseInt(num1);
                    int secondnumber=Integer.parseInt(num2);
                    int resultint=-1;
                    if (sign.equals("+")){
                        add1(firstnumber,secondnumber);
                    }else if (sign.equals("-")){
                        minus(firstnumber,secondnumber);
                    }else if (sign.equals("*")){
                        time1(firstnumber,secondnumber);
                    }else if (sign.equals("/")){
                        divide1(firstnumber,secondnumber);
                    }
                }else {
                    Toast.makeText(MainActivity.this,"請輸入數字",Toast.LENGTH_SHORT).show();
                }

            }
        });
        clear.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                edt_num1.setText("");
                edt_num2.setText("");
                edt_result.setText("");
            }
        });
        quit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }
    public void add1(int num1,int num2){
        //加法運算
        int resultint=-1;
        resultint=num1+num2;
        edt_result.setText(resultint+"");
    }
    public void minus(int num1,int num2){
        //減法運算
        int resultint=-1;
        resultint=num1-num2;
        edt_result.setText(resultint+"");

    }
    public void time1(int num1,int num2){
        //乘法運算
        int resultint=-1;
        resultint=num1*num2;
        edt_result.setText(resultint+"");
    }
    public void divide1(int num1,int num2){
        //除法運算
        int resultint=-1;
        if (num2==0){
            edt_result.setText("");
            Toast.makeText(MainActivity.this,"被除數不能為0",Toast.LENGTH_SHORT).show();
        }else {
            resultint=num1/num2;
            edt_result.setText(resultint+"");
        }

    }

}