应用网格布局设计的计算器

本文介绍了如何运用网格布局设计一个计算器应用。界面设计通过书本代码实现,功能设计利用按钮点击事件结合StringBuilder处理用户输入。当点击等号按钮时,调用自定义处理类进行计算。尽管遇到程序运行中断的问题,但作者仍从中学到了网格布局和代码编写,对提升Java基础有一定帮助。
摘要由CSDN通过智能技术生成

1.界面设计

采用书本代码设计页面。

2.功能设计

按照按钮点击事件的套路,每当点击按钮时,就会执行onClick()的方法,我们在这个方法里加入个switch循环,每个case:是按钮的id,我们申请个private StringBuilder的字符串。每按一个按钮,只要满足要求,不是错误的输入,就调用append()方法,将按钮的值当字符存入这个字符串中,当用户按到等号时,调用另一个java文件的自己写的处理的类

3.详细代码

界面部分代码不再重复,以下为功能设计部分代码。

MainActivity.java中的

package com.example1.asus.secondapp;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.util.Arrays;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {


    private TextView text;
    private Button bt_1;
    private Button bt_2;
    private Button bt_3;
    private Button bt_4;
    private Button bt_5;
    private Button bt_6;
    private Button bt_7;
    private Button bt_8;
    private Button bt_9;
    private Button bt_0;
    private Button bt_clean;
    private Button bt_add;
    private Button bt_sub;
    private Button bt_multiply;
    private Button bt_divide;
    private Button bt_dot;
    private Button bt_sum;
    private StringBuilder pending = new StringBuilder();
    protected void onCreate(Bundle savedInstanceState) {


        super.onCreate(savedInstanceState);

        setContentView();


        initView();

    }

    private void setContentView() {
    }
    private Object findViewByid(int text) {
        return null;
    }
    private void initView() {

        text = (TextView)findViewByid(R.id.text);
        bt_1 = (Button)findViewByid(R.id.bt1);
        bt_2 = (Button)findViewByid(R.id.bt2);
        bt_3 = (Button)findViewByid(R.id.bt3);
        bt_4 = (Button)findViewByid(R.id.bt4);
        bt_5 = (Button)findViewByid(R.id.bt5);
        bt_6 = (Button)findViewByid(R.id.bt6);
        bt_7 = (Button)findViewByid(R.id.bt7);
        bt_8 = (Button)findViewByid(R.id.bt8);
        bt_9 = (Button)findViewByid(R.id.bt9);
        bt_0 = (Button)findViewByid(R.id.bt0);
        bt_clean = (Button)findViewByid(R.id.bt_clear);
        bt_add = (Button)findViewByid(R.id.bt_add);
        bt_sub = (Button)findViewByid(R.id.bt_sub);
        bt_multiply = (Button)findViewByid(R.id.bt_multiply);
        bt_divide = (Button)findViewByid(R.id.bt_divide);
        bt_sum = (Button)findViewByid(R.id.bt_sum);
        bt_dot = (Button)findViewByid(R.id.bt_dot);


        bt_0.setOnClickListener(this);

        bt_1.setOnClickListener(this);

        bt_2.setOnClickListener(this);

        bt_3.setOnClickListener(this);

        bt_4.setOnClickListener(this);

        bt_5.setOnClickListener(this);

        bt_6.setOnClickListener(this);

        bt_7.setOnClickListener(this);

        bt_8.setOnClickListener(this);

        bt_9.setOnClickListener(this);

        bt_dot.setOnClickListener(this);

        bt_add.setOnClickListener(this);

        bt_sum.setOnClickListener(this);

        bt_multi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值