简单计算器

package com.zhi.calculator;						//包名

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

public class MainActivity extends Activity 
{
	TextView tv;
	int[] buttons;					//数字按钮数组
	int result;
	int result0;
	int result1;
	
	Button buttonC;					//按钮对象声明
	Button buttonJia;
	Button buttonJian;		
	Button buttonCheng;
	Button buttonChu;
	Button buttonDengyu;
	
	String firstValue;									//旧输入的值
	String secondValue;									//新输入的值
	
	int flag=0;							//计算标志位,0第一次输入;1加;2减;3乘;4除;5等于
	Button temp;
	
	@Override
	public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);	//跳转到main界面
        initButton();
        
        //清空按钮的点击事件监听器
        buttonC.setOnClickListener
        ( 								
	        new OnClickListener()
	        {
		  	    public void onClick(View v) 
			    {
		  	    	firstValue="";
		  	    	secondValue="";							//清空记录
					tv.setText(firstValue);
					flag=0;
				}
			}
        );
        //监听
        for(int i=0;i<buttons.length;i++)
        {
        	temp=(Button)findViewById(buttons[i]);
        	temp.setOnClickListener
        	(									//为Button添加监听器
        		new OnClickListener()
        		{
        			@Override
        			public void onClick(View v) 
					{
        				firstValue=tv.getText().toString().trim();
        				firstValue=firstValue+String.valueOf(((Button)v).getText());//获得新输入的值
						System.out.println("firstValue"+":::"+firstValue);
						tv.setText(firstValue);
					}
        		}
        	);
        }
        
	    buttonListener(buttonJia,1);
	    buttonListener(buttonJian,2);
	    buttonListener(buttonCheng,3);
	    buttonListener(buttonChu,4);
	    
        buttonDengyu.setOnClickListener
        (
        	new OnClickListener()
        	{
        		@Override
        		public void onClick(View v)
        		{System.out.println(firstValue);
        		    result1=Integer.parseInt(firstValue);
        		    result=0;
        		    boolean Zero=false;
        			if(flag==1)
        	        {
        	        	result=result0+result1;
        	        	System.out.println(result0+":"+result1);
        	        }
        	        else if(flag==2)
        	        {
        	        	result=result0-result1;
        	        }
        	        else if(flag==3)
        	        {
        	        	result=result0*result1;
        	        }
        	        else if(flag==4)
        	        {
        	        	if(result1==0) Zero=true;
        	        	else result=(int)(result0/result1);
        	        }
        			if(Zero) tv.setText("除数不能为0");
        			else
        			{
        				String str=(result+"").trim();
        				System.out.println(str);
        				tv.setText(str);
        			}
        		}
        	}
        );
 }
	
	//初始化按钮
    public void initButton()
    {						//初始化控件资源
    	tv=(TextView)this.findViewById(R.id.tv);			//获取文本框控件对象
    	firstValue=String.valueOf(tv.getText());secondValue="";    	    	//初始化运算输入数值
    	
    	buttonC=(Button)this.findViewById(R.id.ButtonC);	//获得计算按钮的按钮对象
    	buttonJia=(Button)this.findViewById(R.id.ButtonJia);
    	buttonJian=(Button)this.findViewById(R.id.ButtonJian);
    	buttonCheng=(Button)this.findViewById(R.id.ButtonCheng);
    	buttonChu=(Button)this.findViewById(R.id.ButtonChu);
    	buttonDengyu=(Button)this.findViewById(R.id.ButtonDengyu);
    	
    	buttons=new int[]
    	{							//记录数值按钮的id
    		R.id.Button00,R.id.Button01,R.id.Button02,R.id.Button03,R.id.Button04,
    		R.id.Button05,R.id.Button06,R.id.Button07,R.id.Button08,R.id.Button09
    	};
    }
    
    //按钮监听
    public void buttonListener(Button button,final int id)
    {
    	button.setOnClickListener
    	(
    		new OnClickListener()
    		{
    			@Override
    			public void onClick(View v)
    			{
    				String str=tv.getText().toString().trim();
    				result0=Integer.parseInt(str);
    				tv.setText("");//取得一个数后,设置TextView为空
    				flag=id;
    			}
    		}
    	);
    }
}

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="5dip">
    <TextView
        android:id="@+id/tv"
        android:layout_width="fill_parent"
        android:layout_height="40dip"
        android:layout_marginRight="5dip"
        android:layout_marginLeft="5dip"
        android:background="#FFFFFF"
        android:layout_gravity="center_vertical|right"
        android:textSize="30dip"
        android:textColor="#ff0000">   
    </TextView>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="5dip">
        <Button 
            android:text="7"
            android:id="@+id/Button07"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        <Button 
            android:text="8"
            android:id="@+id/Button08"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        <Button 
            android:text="9"
            android:id="@+id/Button09"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        <Button 
            android:text="+"
            android:id="@+id/ButtonJia"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        </LinearLayout>
        <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="5dip">
        <Button 
            android:text="4"
            android:id="@+id/Button04"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        <Button 
            android:text="5"
            android:id="@+id/Button05"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        <Button 
            android:text="6"
            android:id="@+id/Button06"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        <Button 
            android:text="-"
            android:id="@+id/ButtonJian"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        </LinearLayout>
        <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="5dip">
        <Button 
            android:text="1"
            android:id="@+id/Button01"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        <Button 
            android:text="2"
            android:id="@+id/Button02"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        <Button 
            android:text="3"
            android:id="@+id/Button03"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        <Button 
            android:text="*"
            android:id="@+id/ButtonCheng"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        </LinearLayout>
        <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="5dip">
        <Button 
            android:text="0"
            android:id="@+id/Button00"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        <Button 
            android:text="c"
            android:id="@+id/ButtonC"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        <Button 
            android:text="="
            android:id="@+id/ButtonDengyu"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        <Button 
            android:text="/"
            android:id="@+id/ButtonChu"
            android:layout_width="80dip"
            android:layout_height="wrap_content"/>
        </LinearLayout>
</LinearLayout>




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package com.softeem.train.calculator; import java.util.Scanner; import java.io.*; public class Calculator { private int m; // 第一个输入的数字 private int n; // 第二个输入的数字 public Calculator() { this.m = 0; this.n = 0; } /* * public void use() { System.out.println("你是否继续使用?继续输入Y,退出输任意键?"); Scanner * in5= new Scanner(System.in); String zz=in5.next(); * if(zz.equals("Y")||zz.equals("y")) this.gui(); else System.exit(0); * * } */ public void graphic() { //3 System.out.println("=========================="); System.out.println("欢迎使用 So easy 计算机简易系统 "); System.out.println(" 请选择计算类型:"); System.out.println(" 1.加法"); System.out.println(" 2.减法"); System.out.println(" 3.乘法"); System.out.println(" 4.除法"); System.out.println(" 5.输入表达式计算"); System.out.println(" 6.退出"); System.out.println("=========================="); Scanner in3 = new Scanner(System.in); int n = in3.nextInt(); switch (n) { //4 case 1: this.add(); //8 break; case 2: this.sub(); break; case 3: this.mul(); break; case 4: this.div(); break; case 5: this.cal(); break; case 6: System.exit(0); default: break; } } public void add() // 实现加法的方法 { //5 System.out.println("欢迎使用加法操作"); this.in(); //7 int sum; sum = this.m + this.n; System.out.println("你输入的数据的和是:" + sum); // this.use(); } public void sub() // 实现减法的方法 { System.out.println("欢迎使用减法操作"); this.in(); int cha; cha = this.m - this.n; System.out.println("你输入的数据的差是:" + cha); // this.use(); } public void mul() // 实现乘法的方法 { System.out.println("欢迎使用乘法操作"); this.in(); int ji; ji = this.m * this.n; System.out.println("你输入的数据的积是:" + ji); // this.use(); } public void div() // 实现除法的方法 { System.out.println("欢迎使用除法操作"); this.in(); if (n == 0) { System.out.println("被除数不能为零!"); this.graphic(); } int shang; shang = this.m / this.n; System.out.println("你输入的数据的和是:" + shang); // this.use(); } public void cal() // 实现表达式运算方法 { String s = ""; // 接收表达式的字符串 String ss1 = ""; // 分离数字m的字符串 String ss2 = ""; // 分离数字n的字符串 char c1 = ' '; // 存放运算符 int m = 0; // 第一个数字 int n = 0; // 第二个数字 System.out.print("请输入一个表达式:"); try { BufferedReader in = new BufferedReader(new InputStreamReader( System.in)); s = in.readLine(); } catch (IOException e) { } for (int i = 0; i < s.length(); i++) { if ((s.charAt(i) == '+') || (s.charAt(i) == '-') || (s.charAt(i) == '*') || (s.charAt(i) == '/')) { c1 = s.charAt(i); // 第一个数 for (int j = 0; j < i; j++) { ss1 += s.charAt(j); m = Integer.parseInt(ss1); } // 第二个数 for (int j = i + 1; j < s.length(); j++) { ss2 += s.charAt(j); n = Integer.parseInt(ss2); } break; } } if (c1 == '+') System.out.println(m + "+" + n + "=" + (m + n)); if (c1 == '-') System.out.println(m + "-" + n + "=" + (m - n)); if (c1 == '*') System.out.println(m + "*" + n + "=" + (m * n)); if (c1 == '/') System.out.println(m + "/" + n + "=" + (m / n)); } public void in() // 实现接收数据的方法 { //6 System.out.println("请输入第一个数:"); Scanner in1 = new Scanner(System.in); this.m = in1.nextInt(); System.out.println("请输入第二个数:"); Scanner in2 = new Scanner(System.in); this.n = in2.nextInt(); } public static void main(String[] args) throws java.io.IOException { //1 String ifquit = ""; // 用于接收是否退出 Calculator c = new Calculator(); do { //2 c.graphic(); // 调用界面方法 //9 System.out.println("你是否继续使用?继续输入Y,退出输任意键?"); Scanner in5 = new Scanner(System.in); ifquit = in5.nextLine(); //10 } while (ifquit.equals("Y") || ifquit.equals("y")); } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值