导航:首页 > 操作系统 > android实现简单计算器

android实现简单计算器

发布时间:2022-08-11 23:39:41

android实现布局,实现计算器加法运算

用gridlayout很好实现,但是这个值支持4.0以上的版本,网上有一大堆例子,你可以去看看,Linearlayout也可以,不过比较繁杂

Ⅱ android中怎么实现计算器

用代码
<?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:orientation="vertical" >

<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tvResult"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:height="50dp"
android:text="@string/tvResult"
/>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btnBackspace"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="150dp"
android:layout_marginLeft="10dp"
android:text="@string/btnbackspace"/>
<Button
android:id="@+id/btnCE"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="150dp"
android:text="@string/btnCE"/>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:width="75dp"
android:text="@string/btn7"/>
<Button
android:id="@+id/btn8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="75dp"
android:text="@string/btn8"/>
<Button
android:id="@+id/btn9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="75dp"
android:text="@string/btn9"/>
<Button
android:id="@+id/btnDiv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="75dp"
android:text="@string/btnDiv"/>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:width="75dp"
android:text="@string/btn4"/>
<Button
android:id="@+id/btn5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="75dp"
android:text="@string/btn5"/>
<Button
android:id="@+id/btn6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="75dp"
android:text="@string/btn6"/>
<Button
android:id="@+id/btnMul"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="75dp"
android:text="@string/btnMul"/>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:width="75dp"
android:text="@string/btn1"/>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="75dp"
android:text="@string/btn2"/>
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="75dp"
android:text="@string/btn3"/>
<Button
android:id="@+id/btnAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="75dp"
android:text="@string/btnAdd"/>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:width="75dp"
android:text="@string/btn0"/>
<Button
android:id="@+id/btnC"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="75dp"
android:text="@string/btnC"/>
<Button
android:id="@+id/btnEqu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="75dp"
android:text="@string/btnEqu"/>
<Button
android:id="@+id/btnSub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="75dp"
android:text="@string/btnSub"/>
</LinearLayout>
</LinearLayout>

——————————————————————————————————————————————

Ⅲ 求大神用Android studio或eclise 实现一个简易计算器,实现加减乘除就行了。急用!

1Android程序-计算器
http://www.oschina.net/code/snippet_576880_17217
2简单计算器源代码

http://blog.csdn.net/x605940745/article/details/11056545
3 从零开始学android实现计算器功能
http://www.jb51.net/article/46550.htm

Ⅳ 简单写了一个Android计算器,事件处理代码一团糟,该如何优化

package com.wondershare.calculator; import android.app.Activity; import android.os.Bundle; import android.text.Editable; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class Calculator extends Activity { private String number1 = null; private String number2 = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final EditText editText = (EditText) findViewById(R.id.editText); Button del = (Button) findViewById(R.id.del); del.setOnClickListener(new OnClickListener() { //有问题 @Override public void onClick(View v) { // Editable str = editText.getText(); // if(!str.equals("")){ // int length = str.length(); // str.delete(length-1, length); // editText.setText(str); // } editText.getText().clear(); } }); final Button digit0 = (Button) findViewById(R.id.digit0); digit0.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String str = (String) digit0.getText(); if (str.equals("")) { } else { editText.append(digit0.getText()); } } }); final Button digit1 = (Button) findViewById(R.id.digit1); digit1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { editText.append(digit1.getText()); } }); final Button digit2 = (Button) findViewById(R.id.digit2); digit2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { editText.append(digit2.getText()); } }); final Button digit3 = (Button) findViewById(R.id.digit3); digit3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { editText.append(digit3.getText()); } }); final Button digit4 = (Button) findViewById(R.id.digit4); digit4.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { editText.append(digit4.getText()); } }); final Button digit5 = (Button) findViewById(R.id.digit5); digit5.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { editText.append(digit5.getText()); } }); final Button digit6 = (Button) findViewById(R.id.digit6); digit6.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { editText.append(digit6.getText()); } }); final Button digit7 = (Button) findViewById(R.id.digit7); digit7.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { editText.append(digit7.getText()); } }); final Button digit8 = (Button) findViewById(R.id.digit8); digit8.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { editText.append(digit8.getText()); } }); final Button digit9 = (Button) findViewById(R.id.digit9); digit9.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { editText.append(digit9.getText()); } }); final Button div = (Button) findViewById(R.id.div); div.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { number1 = editText.getText().toString(); editText.append(div.getText()); } }); final Button dot = (Button) findViewById(R.id.dot); dot.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { editText.append(dot.getText()); } }); final Button equal = (Button) findViewById(R.id.equal); equal.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String str = editText.getText().toString();//文本 number2 = str.substring(number1.length()+1, str.length()); String operation = str.substring(number1.length(), number1.length()+1); float result = 0; if(operation.equals("+")){ result = Float.parseFloat(number1)+Float.parseFloat(number2); }else if(operation.equals("-")){ result = Float.parseFloat(number1)-Float.parseFloat(number2); }else if(operation.equals("×")){ result = Float.parseFloat(number1)*Float.parseFloat(number2); }else if(operation.equals("/")){ result = Float.parseFloat(number1)/Float.parseFloat(number2); } editText.setText(String.valueOf(result)); } }); final Button minus = (Button) findViewById(R.id.minus); minus.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { number1 = editText.getText().toString(); editText.append(minus.getText()); } }); final Button mul = (Button) findViewById(R.id.mul); mul.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { number1 = editText.getText().toString(); editText.append(mul.getText()); } }); final Button plus = (Button) findViewById(R.id.plus); plus.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //保存第一个操作数 number1 = editText.getText().toString(); editText.append(plus.getText()); } }); } }问题补充:谢谢您的回答,这种写法可以避免创建过多的OnClickListener对象,并且不需要对每一个Button添加事件,不过我试了一下,还是需要重复写很多相似的代码(像FindViewById(),switch分支过多),感觉应该有更好的方式。另外,按照您的写法,代码无法工作,捕获不到点击事件。package com.wondershare.calculator; 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 Calculator extends Activity implements OnClickListener { // 操作数 private String number1 = null; private String number2 = null; // 屏幕按键 private Button digit0 = null; private Button digit1 = null; private Button digit2 = null; private Button digit3 = null; private Button digit4 = null; private Button digit5 = null; private Button digit6 = null; private Button digit7 = null; private Button digit8 = null; private Button digit9 = null; private Button clear = null; private Button plus = null; private Button minus = null; private Button mul = null; private Button div = null; private Button equal = null; private Button dot = null; //输入框 private EditText editText = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 初始化屏幕按键 digit0 = (Button) findViewById(R.id.digit0); digit1 = (Button) findViewById(R.id.digit1); digit2 = (Button) findViewById(R.id.digit2); digit3 = (Button) findViewById(R.id.digit3); digit4 = (Button) findViewById(R.id.digit4); digit5 = (Button) findViewById(R.id.digit5); digit6 = (Button) findViewById(R.id.digit6); digit7 = (Button) findViewById(R.id.digit7); digit8 = (Button) findViewById(R.id.digit8); digit9 = (Button) findViewById(R.id.digit9); clear = (Button) findViewById(R.id.del); plus = (Button) findViewById(R.id.plus); minus = (Button) findViewById(R.id.minus); mul = (Button) findViewById(R.id.mul); div = (Button) findViewById(R.id.div); equal = (Button) findViewById(R.id.equal); dot = (Button) findViewById(R.id.dot); //初始化文本框 editText = (EditText) findViewById(R.id.editText); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.digit0: // setTextValue(String.valueOf(R.id.digit0)); editText.setText("测试"); break; case R.id.digit1: setTextValue(String.valueOf(R.id.digit1)); break; case R.id.digit2: setTextValue(String.valueOf(R.id.digit2)); break; case R.id.digit3: setTextValue(String.valueOf(R.id.digit3)); break; case R.id.digit4: setTextValue(String.valueOf(R.id.digit4)); break; case R.id.digit5: setTextValue(String.valueOf(R.id.digit5)); break; case R.id.digit6: setTextValue(String.valueOf(R.id.digit6)); break; case R.id.digit7: setTextValue(String.valueOf(R.id.digit7)); break; case R.id.digit8: setTextValue(String.valueOf(R.id.digit8)); break; case R.id.digit9: setTextValue(String.valueOf(R.id.digit9)); break; case R.id.del: // setTextValue(String.valueOf(R.id.del)); break; case R.id.plus: setTextValue(String.valueOf(R.id.plus)); break; case R.id.minus: setTextValue(String.valueOf(R.id.minus)); break; case R.id.mul: setTextValue(String.valueOf(R.id.mul)); break; case R.id.div: setTextValue(String.valueOf(R.id.div)); break; case R.id.equal: break; case R.id.dot: setTextValue(String.valueOf(R.id.dot)); break; default: break; } } /** * 当按键按下时设置文本框的值 * @param str */ private void setTextValue(String str){ editText.append(str); } }billyyuan 写道给个我的习惯。
public class Calculator extends Activity implements OnClickListener { private String number1 = null; private String number2 = null; Button digit0; Button digit1; Button digit2; Button digit3; Button digit4; Button digit5; Button digit6; Button digit7; Button digit8; Button digit9; Button delete; EditText editText; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //initUI digit0 = (Button) findViewById(R.id.digit0); digit1 = (Button) findViewById(R.id.digit1); digit2 = (Button) findViewById(R.id.digit2); digit3 = (Button) findViewById(R.id.digit3); digit4 = (Button) findViewById(R.id.digit4); digit5 = (Button) findViewById(R.id.digit5); digit6 = (Button) findViewById(R.id.digit6); digit7 = (Button) findViewById(R.id.digit7); digit8 = (Button) findViewById(R.id.digit8); digit9 = (Button) findViewById(R.id.digit9); editText = (EditText)findViewById(R.id.editText); del = (Button) findViewById(R.id.del); @Override public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()){ default: break; case R.id.plus: break;; case R.id.digit0: break; case R.id.digit1: break; case R.id.digit2: break; case R.id.digit3: break; case R.id.digit4: break; case R.id.digit5: break; case R.id.digit6: break; case R.id.digit7: break; case R.id.digit8: break; case R.id.digit9: break; .... } } } 问题补充:明白了,原来我只是实现了OnClickListener接口,但是按钮没有添加监听,貌似这是一个很低级的错误啊,呵呵!另外,关于计算器的实现,我是通过字符串处理来分别得到两个操作数的,而且为了响应按钮事件,每一个case的setText是不可避免的,不知你所说的代码控制要怎么弄。有没有更好的计算器实现方式嘞!?
billyyuan 写道不好意思还有点没有加上
digit0.setOnClickListener(this); digit1.setOnClickListener(this); digit2.setOnClickListener(this); digit3.setOnClickListener(this); digit4.setOnClickListener(this); digit5.setOnClickListener(this); digit6.setOnClickListener(this); digit7.setOnClickListener(this); digit8.setOnClickListener(this); 你可以把他们放在一个方法里面
还有,那个setText你觉得有重复,那要你的代码控制啊。
有一些可以用

Ⅳ android 写一个简易计算器 有人能解释一下这段代码吗

大概意思:对获取的字符进行分割,获得初始值,然后感觉读不下去了,感觉没完整

Ⅵ 在android的写一个简易计算器,怎样把和多个按钮封装起来,一起使用

bt1.setOnClickListener(new
onclicklistener());
bt2.setOnClickListener(new
onclicklistener());
bt3
.setOnClickListener(new
onclicklistener());
class
onclicklistener
implements
OnClickListener
{
//
处理控件点击的事件
@Override
public
void
onClick(View
v)
{
switch
(v.getId())
{
case
R.id.bt1:
//你要做的
break;
case
R.id.bt2:
//你要做的
break;
case
R.id.bt3:
//你要做的
break;}
}
}

Ⅶ android 编写一个计算器

Android 应用程序分析之Calculator ----核心计算部分的理解和高精度运算

http://blog.csdn.net/caszhao/article/details/5986911#t1

那你可以试试看。

Ⅷ 刚接触android,想写个简单的计算器。在两个框输入两个数,选择算法按钮,在第三个框输出。不会了!!!

  1. 在xml的edittext中加入android:inputType="numberSigned"

  2. int 改为float比较好吧

  3. 在public void onclick(View v){

    a=Float.parsefloat(edittext1.gettext().tostring());

b=Float.parsefloat(edittext1.gettext().tostring());

switch(v.getid()){

//........还是你自己的代码

}

edittext3.settext(""+c);

}

阅读全文

与android实现简单计算器相关的资料

热点内容
服输电影 浏览:813
女程序员手腕磨印子 浏览:864
5周岁看电影可以吗 浏览:901
男女亲热把房子弄倒的韩国电影 浏览:979
什么APP看台湾节目 浏览:350
csgo如何看服务器 浏览:894
有一部美国电影叫什么花? 浏览:138
命令行安装dmg 浏览:646
阿加莎无人生还电影免费观看 浏览:256
能看的那种网你知道几个 浏览:115
关闭命令在 浏览:660
吃鱼子全死了的电影 浏览:551
柬爱女老板开美容院的女主叫什么 浏览:337
在线观看地址有推荐吗 浏览:709
铁岭新玛特大地影院节目表 浏览:181
gui编程前途 浏览:641
山东学英语app软件定制哪里好 浏览:477
民国和现代来回穿越小说 浏览:692
phpwebservice搭建 浏览:253
安卓机器为什么会卡顿 浏览:881