四则运算(28日)

今天是冲刺的最后几天了,我们已经完成了界面的设计以及四则运算的基本功能,但在编程的过程中还遇到了一些问题,我们还在努力尝试调试中。在这个软件中,用户可以计算基本的四则运算,由用户输入算式进行计算,我们先提交一个简单的版本,在以后我们还在继续完善。


Not

CHECKED

OUT


CHECKED

OUT


DONE!:


SPRINT

GOAL:

BETA-READY

RELEASE


四则运算的界面设计


安装ADT,在Java环境下设计


四则运算的基本功能


对按钮事件的处理

 四则运算的错误处理  由用户输入及计算输出
四则运算功能的测试   支持加减乘除的运算  
四则运算功能的新功能   暂无  

下面是我们的代码,但是在测试中还存在一些错误,我们还在努力找出错误的原因。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/led"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_margin="3dip"
            android:background="#ccc"
            android:gravity="top|right"
            android:text=""
            android:textColor="#000"
            android:textSize="12pt" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/time"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="time"
            android:textSize="10pt" />

        <Button
            android:id="@+id/pow"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="pow"
            android:textSize="10pt" />

        <Button
            android:id="@+id/sqrt"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="sqrt"
            android:textSize="10pt" />

        <Button
            android:id="@+id/clear"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="clear"
            android:textSize="10pt" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/seven"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="7"
            android:textSize="12pt" />

        <Button
            android:id="@+id/eight"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="8"
            android:textSize="12pt" />

        <Button
            android:id="@+id/nine"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="9"
            android:textSize="12pt" />

        <Button
            android:id="@+id/division"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="÷"
            android:textSize="12pt" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/four"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="4"
            android:textSize="12pt" />

        <Button
            android:id="@+id/five"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="5"
            android:textSize="12pt" />

        <Button
            android:id="@+id/six"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="6"
            android:textSize="12pt" />

        <Button
            android:id="@+id/mult"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="*"
            android:textSize="12pt" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/one"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="1"
            android:textSize="12pt" />

        <Button
            android:id="@+id/two"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="2"
            android:textSize="12pt" />

        <Button
            android:id="@+id/three"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="3"
            android:textSize="12pt" />

        <Button
            android:id="@+id/sub"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="-"
            android:textSize="12pt" />
    </LinearLayout>

package com.layoutclss;

import java.util.Date;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {
    private Button one;
    private Button two;
    private Button three;
    private Button four;
    private Button five;
    private Button six;
    private Button seven;
    private Button eight;
    private Button nine;
    private Button zero;
    private Button dot;
    private Button add;
    private Button sub;
    private Button mult;
    private Button division;
    private Button amount;
    private Button clear;
    private Button time;
    private Button sqrt;
    private Button pow;
    private EditText led;
    String num1 = "";
    String num2 = "";
    double num3 = 0;
    String rezult = "";
    String sign = null;
    int mark = 0;
    boolean flag = true;
    boolean dotmark = true;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        zero = (Button) findViewById(R.id.zero);
        one = (Button) findViewById(R.id.one);
        two = (Button) findViewById(R.id.two);
        three = (Button) findViewById(R.id.three);
        four = (Button) findViewById(R.id.four);
        five = (Button) findViewById(R.id.five);
        six = (Button) findViewById(R.id.six);
        seven = (Button) findViewById(R.id.seven);
        eight = (Button) findViewById(R.id.eight);
        nine = (Button) findViewById(R.id.nine);
        dot = (Button) findViewById(R.id.dot);
        add = (Button) findViewById(R.id.add);
        sub = (Button) findViewById(R.id.sub);
        mult = (Button) findViewById(R.id.mult);
        division = (Button) findViewById(R.id.division);
        clear = (Button) findViewById(R.id.clear);
        amount = (Button) findViewById(R.id.amount);
        time = (Button) findViewById(R.id.time);
        pow = (Button) findViewById(R.id.pow);
        sqrt = (Button) findViewById(R.id.sqrt);
        led = (EditText) findViewById(R.id.led);

        zero.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (mark == 0) {
                    num1 = num1 + "0";
                    led.setText(num1);
                } else if (mark == 1) {
                    num2 = num2 + "0";
                    led.setText(num1 + sign + num2);
                } else {
                    num1 = String.valueOf(num3);
                    num2 = num2 + "0";
                    led.setText(num1 + sign + num2);
                }
            }
        });
        one.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (mark == 0) {
                    num1 = num1 + "1";
                    led.setText(num1);
                } else if (mark == 1) {
                    num2 = num2 + "1";
                    led.setText(num1 + sign + num2);
                } else {
                    num1 = String.valueOf(num3);
                    num2 = num2 + "1";
                    led.setText(num1 + sign + num2);
                }
            }
        });
        two.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (mark == 0) {
                    num1 = num1 + "2";
                    led.setText(num1);
                } else if (mark == 1) {
                    num2 = num2 + "2";
                    led.setText(num1 + sign + num2);
                } else {
                    num1 = String.valueOf(num3);
                    num2 = num2 + "2";
                    led.setText(num1 + sign + num2);
                }
            }
        });
        three.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (mark == 0) {
                    num1 = num1 + "3";
                    led.setText(num1);
                } else if (mark == 1) {
                    num2 = num2 + "3";
                    led.setText(num1 + sign + num2);
                } else {
                    num1 = String.valueOf(num3);
                    num2 = num2 + "3";
                    led.setText(num1 + sign + num2);
                }
            }
        });
        four.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (mark == 0) {
                    num1 = num1 + "4";
                    led.setText(num1);
                } else if (mark == 1) {
                    num2 = num2 + "4";
                    led.setText(num1 + sign + num2);
                } else {
                    num1 = String.valueOf(num3);
                    num2 = num2 + "4";
                    led.setText(num1 + sign + num2);
                }
            }
        });
        five.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (mark == 0) {
                    num1 = num1 + "5";
                    led.setText(num1);
                } else if (mark == 1) {
                    num2 = num2 + "5";
                    led.setText(num1 + sign + num2);
                } else {
                    num1 = String.valueOf(num3);
                    num2 = num2 + "5";
                    led.setText(num1 + sign + num2);
                }
            }
        });
        six.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (mark == 0) {
                    num1 = num1 + "6";
                    led.setText(num1);
                } else if (mark == 1) {
                    num2 = num2 + "6";
                    led.setText(num1 + sign + num2);
                } else {
                    num1 = String.valueOf(num3);
                    num2 = num2 + "6";
                    led.setText(num1 + sign + num2);
                }
            }
        });
        seven.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (mark == 0) {
                    num1 = num1 + "7";
                    led.setText(num1);
                } else if (mark == 1) {
                    num2 = num2 + "7";
                    led.setText(num1 + sign + num2);
                } else {
                    num1 = String.valueOf(num3);
                    num2 = num2 + "7";
                    led.setText(num1 + sign + num2);
                }
            }
        });
        eight.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (mark == 0) {
                    num1 = num1 + "8";
                    led.setText(num1);
                } else if (mark == 1) {
                    num2 = num2 + "8";
                    led.setText(num1 + sign + num2);
                } else {
                    num1 = String.valueOf(num3);
                    num2 = num2 + "8";
                    led.setText(num1 + sign + num2);
                }
            }
        });
        nine.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (mark == 0) {
                    num1 = num1 + "9";
                    led.setText(num1);
                } else if (mark == 1) {
                    num2 = num2 + "9";
                    led.setText(num1 + sign + num2);
                } else {
                    num1 = String.valueOf(num3);
                    num2 = num2 + "9";
                    led.setText(num1 + sign + num2);
                }
            }
        });
        add.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (flag) {
                    sign = "+";
                    mark++;
                    flag = false;
                    dotmark = true;
                }
            }
        });
        sub.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (flag) {
                    sign = "-";
                    mark++;
                    flag = false;
                    dotmark = true;
                }
            }
        });
        mult.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (flag) {
                    sign = "*";
                    mark++;
                    flag = false;
                    dotmark = true;
                }
            }
        });
        division.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (flag) {
                    sign = "÷";
                    mark++;
                    flag = false;
                    dotmark = true;
                }
            }
        });
        pow.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (flag) {
                    sign = "^";
                    mark++;
                    flag = false;
                    dotmark = true;
                }
            }
        });
        dot.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (dotmark) {
                    if (mark == 0) {
                        num1 = num1 + ".";
                        led.setText(num1);
                    } else if (mark == 1) {
                        num2 = num2 + ".";
                        led.setText(num1 + sign + num2);
                    } else {
                        num1 = String.valueOf(num3);
                        num2 = num2 + ".";
                        led.setText(num1 + sign + num2);
                    }
                    dotmark = false;
                }
            }
        });
        amount.setOnClickListener(new OnClickListener() { // 等于时发生的运算
            public void onClick(View v) {
                flag = true;
                dotmark = true;
                if (sign.equals("+")) {
                    double x = Double.parseDouble(num1);
                    double y = Double.parseDouble(num2);
                    num3 = x + y;
                    rezult = String.valueOf(num3);
                    led.setText(num1 + sign + num2 + "=" + rezult);
                    num2 = "";
                } else if (sign.equals("-")) {
                    double x = Double.parseDouble(num1);
                    double y = Double.parseDouble(num2);
                    num3 = x - y;
                    rezult = String.valueOf(num3);
                    led.setText(num1 + sign + num2 + "=" + rezult);
                    num2 = "";
                } else if (sign.equals("*")) {
                    double x = Double.parseDouble(num1);
                    double y = Double.parseDouble(num2);
                    num3 = x * y;
                    rezult = String.valueOf(num3);
                    led.setText(num1 + sign + num2 + "=" + rezult);
                    num2 = "";
                } else if (sign.equals("÷")) {
                    double x = Double.parseDouble(num1);
                    double y = Double.parseDouble(num2);
                    num3 = x / y;
                    rezult = String.valueOf(num3);
                    led.setText(num1 + sign + num2 + "=" + rezult);
                    num2 = "";
                } else if (sign.equals("^")) {
                    double x = Double.parseDouble(num1);
                    double y = Double.parseDouble(num2);
                    num3 = Math.pow(x, y);
                    rezult = String.valueOf(num3);
                    led.setText(num1 + sign + num2 + "=" + rezult);
                    num2 = "";
                }
            }
        });
        clear.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                num1 = "";
                num2 = "";
                num3 = 0;
                mark = 0;
                sign = "";
                led.setText("0");
                flag = true;
                dotmark = true;
            }
        });
        sqrt.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (mark == 0 && !num1.equals("") && num2.equals("")) {
                    double parent = Double.parseDouble(num1);
                    double root = Math.sqrt(parent);
                    rezult = String.valueOf(root);
                    led.setText(rezult);
                    num1 = "";
                }
            }
        });
        time.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Date date = new Date();
                led.setText(date.toLocaleString());
            }
        });
    }

时间: 2024-11-10 01:27:22

四则运算(28日)的相关文章

软考中高项学员:2016年3月28日作业

软考中高项学员:2016年3月28日作业 一.项目沟通管理1.项目沟通管理包括哪些过程?(记)2.阻碍有效沟通的因素有哪些?3.沟通计划编制的第一步是什么?目的是什么?4.沟通管理计划包括哪些内容(8条)5.干系人沟通计划包括哪些内容?(记)6.项目例会的主要议题有哪四条?7.项目内部启动会议.外部启动会议分别要解决什么问题?8.项目总结会议的目的有哪些?9.影响项目沟通的技术因素有哪些?9.常用的四种沟通方式是什么?各有何优缺点?10.信息分发的工具和技术是什么?11.经验教训总结过结果是什么

2014年4月28日 乱侃人际关系,反思学习方式

body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}

2017年3月28日下午学习日志

2017年3月28日下午复习了高等数学,继续看了张宇高等数学基础班课程视频第一章极限与连续部分极限的计算法则中数列极限的计算和连续与间断,第二遍听课过程中能巩固之前所学内容,不懂的问题得以解决,印象也更加深刻,对复习有很大的帮助,背英语单词100个.

安康5月28日将举办汉江龙舟节暨西康高速公路通车典礼(欢乐中国行-魅力安康,中央三套6月7日首播)

第九届中国安康汉江龙舟节,将于2009年5月28日至30日,在安康隆重举行. 今年举办的第九届中国安康汉江“泸康杯”龙舟节,将把龙舟节开幕式与西康高速公路通车典礼成功对接,央视著名栏目“欢乐中国行—魅力安康”,将尽情展示绿色安康的无限魅力. 欢乐中国行—魅力安康的具体播出时间是:中央三套6月7日晚7点30分. http://space.tv.cctv.com/podcast/huanlezhongguoxing 据悉,西康高速通车后,西安到安康仅需要2-3小时.目前,安康还是陕西唯一一个没有高速

php 学习路线 赵兴壮2014年4月28 日 加油

第一阶段 第一讲,WEB基础     1.1 网站基本知识: 1.2 网络协议介绍: 1.3 B/S与C/S结构的区别: 1.4 WEB编程.网站开发技术介绍.      第二讲,网页设计     2.1 Dreamweaver介绍及使用: 2.2 静态网页HTML语言: 2.3 标题与段落,换行与分割线: 2.4 表格.表单: 2.5 框架.超链接.图片.     实例:1,使用表格进行网页布局设计: 2,使用表单.表格.框架进行系统后台界面设计. 第三讲,DIV+CSS     3.1 CS

2016年3月28日作业

软考中高项学员:2016年3月28日作业 一.项目沟通管理1.项目沟通管理包括哪些过程?(记)答:信息的生成.传递.接收.理解检查.2.阻碍有效沟通的因素有哪些?答:1.沟通双方的物理距离.2.沟通的环境因素.3.缺乏清晰的沟通渠道.4.复杂的组织结构.5.复杂的技术术语.6.有害的态度.3.沟通计划编制的第一步是什么?目的是什么?答:沟通计划编制的第一步是干系人分析,目的是得出项目的沟通的需求和方式,进而形成较为准确的沟通需求表,然后再针对需求进行计划编制.4.沟通管理计划包括哪些内容(8条)

6月28日 cf总结

6月28日 cf总结 今天cf提前到10点了,还不如半夜..网速坑啊... A题:水题. 在一个01序列中每次删掉01和10,求最终剩下的序列的长度. 直接输出0的个数和1的个数的差即可,因为最终只要剩下0或1就会被和谐掉. 这题7分钟刷出页面,11分钟看懂题意,13分钟过也是醉了...网速坑手速啊... #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #incl

记录6月28日的体验,自己现实的感触

2016年6月28日,是我自己要求的要去湖北的日子,可是现在,这个只能成为过去式,只能是提一提! 2016年5月17日,我在想,我要通宵加班,做好自己最好,最期待完成的3.0,我认真构造所有的阶段.认真等待,期待,但现在,从2016年6月17日来说,一个项目启动在2016年6月15日,用了10天,外加,两个星期的周末,14天,两周的时间,一个首页一个登陆注册.还要反复,重换,我还处在项目未启动阶段. 我迷茫了,我对自己感受的事情,全部不知道,方向了,我知道,这个3.0,我自己到底有多大的勇气,多

西北政法大学8月28日至29日网上报名,1011日至12日参加考试

2014年西北政法大学8月28日至29日网上报名,10月11日至12日参加考试 新疆2015年成人高考报名时间.入口专题 新疆2015年成人高考报名 登录新疆成人高考报名网站

【培训】JAVA微信插件开发培训:本周三(10月28日)腾讯课堂开讲

培训课程:P3-weixin 插件基础架构讲解(开发环境搭建.代码生成器使用).P3-weixin 微信插件开发实战讲解 课程简介:P3-weixin 插件开发框架学习,HTML5技术学习.微信插件机制 培训时间:10月28日晚九点    10月30日晚九点 听课地址:http://ke.qq.com/course/99220