Android實(shí)現(xiàn)簡易計(jì)算功能
本文實(shí)例為大家分享了Android實(shí)現(xiàn)簡易計(jì)算功能的具體代碼,供大家參考,具體內(nèi)容如下
效果如圖:
activity_main.xml
<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='match_parent' android:layout_height='match_parent' android:gravity='clip_horizontal' android:orientation='vertical' android:padding='30dp'> <LinearLayoutandroid:layout_width='match_parent'android:layout_height='wrap_content'><TextView android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_weight='1' android:text='操作數(shù):' android:textSize='20sp' /><EditText android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_weight='1' android:hint='請輸入數(shù)值操作數(shù)' android:textStyle='bold' android:inputType='number' /> </LinearLayout> <LinearLayoutandroid:layout_width='match_parent'android:layout_height='wrap_content'><TextView android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_weight='1' android:text='算術(shù)運(yùn)算:' android:textSize='20sp'></TextView><Spinner android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_weight='1' android:entries='@array/sign' /> </LinearLayout> <LinearLayoutandroid:layout_width='match_parent'android:layout_height='wrap_content'><TextView android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_weight='1' android:text='操作數(shù):' android:textSize='20sp' /><EditText android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_weight='1' android:hint='請輸入數(shù)值操作數(shù)' android:textStyle='bold' android:inputType='number' /> </LinearLayout> <LinearLayoutandroid:layout_width='match_parent'android:layout_height='wrap_content'><Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_weight='1' android:text='等于:' /><TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_weight='5' android:hint='計(jì)算結(jié)果' android:padding='15dp' android:textColor='#F44336' android:textSize='25sp' android:textStyle='bold' /> </LinearLayout></LinearLayout>
arrays.xml
<?xml version='1.0' encoding='utf-8'?><resources> <string-array name='sign'><item>請選擇運(yùn)算符</item><item>+</item><item>-</item><item>*</item><item>/</item> </string-array></resources>
MainActivity
package com.jld.homework;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.Button;import android.widget.EditText;import android.widget.Spinner;import android.widget.TextView;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity { String op; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Spinner spinner = (Spinner) this.findViewById(R.id.operator);//獲取活動布局中的Spinner對象//為Spinner注冊內(nèi)部監(jiān)聽器對象spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {//將Spinner選項(xiàng)的值賦值給成員變量op(保存算術(shù)運(yùn)算符)op = ((TextView) view).getText().toString(); } @Override public void onNothingSelected(AdapterView<?> parent) { }});//各類組件Button calcButton = findViewById(R.id.calc);EditText firstNum = findViewById(R.id.firstNum);EditText secondNum = findViewById(R.id.secondNum);TextView result = findViewById(R.id.result);//計(jì)算核心calcButton.setOnClickListener(v -> { switch (op) {case '+': { double r = Double.parseDouble(firstNum.getText().toString()) + Double.parseDouble(secondNum.getText().toString()); result.setText(String.valueOf(r)); break;}case '-': { double r = Double.parseDouble(firstNum.getText().toString()) - Double.parseDouble(secondNum.getText().toString()); result.setText(String.valueOf(r)); break;}case '*': { double r = Double.parseDouble(firstNum.getText().toString()) * Double.parseDouble(secondNum.getText().toString()); result.setText(String.valueOf(r)); break;}case '/': { double r = Double.parseDouble(firstNum.getText().toString()) / Double.parseDouble(secondNum.getText().toString()); result.setText(String.valueOf(r)); break;}default://非法情況報(bào)錯(cuò) result.setText(R.string.ERROR); break; }}); }}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. React實(shí)現(xiàn)一個(gè)倒計(jì)時(shí)hook組件實(shí)戰(zhàn)示例2. WMLScript的語法基礎(chǔ)3. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)4. XML入門的常見問題(三)5. JavaScript中顏色模型的基礎(chǔ)知識與應(yīng)用詳解6. 不要在HTML中濫用div7. XML 非法字符(轉(zhuǎn)義字符)8. el-input無法輸入的問題和表單驗(yàn)證失敗問題解決9. 前端html+css實(shí)現(xiàn)動態(tài)生日快樂代碼10. XML 增、刪、改和查示例
