`

太弱了,写个calculator写了2天...

阅读更多
还是在结石和潘老师的指点下完成的,java,哎,痛啊..完全忘光鸟..

不过一到公司零零散散的事 是多啊


package com.pako;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Button;
public class calzpc extends Activity implements OnClickListener {
   
 private TextView operator;
 private Button num1;
 private Button num2;
 private Button num3;
 private Button num4;
 private Button num5;
 private Button num6;
 private Button num7;
 private Button num8;
 private Button num9;
 private Button num10;
 private Button add;
 private Button cancel;
 private Button decrease;
 private Button multiply;
 private Button devide;
 private Button equal_key;
 private EditText result;
 private EditText input1;
 private EditText input2;
 private int input1value = 0;
 private int input2value = 0;
 private String opstr ="";
 private float opresult =0;
 private EditText input=input1;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
//        mImageButton1 =(ImageButton) findViewById(R.id.myImageButton1);
//        mButton1=(Button)findViewById(R.id.myButton1);
//        mTextView1 = (TextView) findViewById(R.id.myTextView1);
        num1 = (Button)findViewById(R.id.num1);
        num2 = (Button)findViewById(R.id.num2);
        num3 = (Button)findViewById(R.id.num3);
        num4 = (Button)findViewById(R.id.num4);
        num5 = (Button)findViewById(R.id.num5);
        num6 = (Button)findViewById(R.id.num6);
        num7 = (Button)findViewById(R.id.num7);
        num8 = (Button)findViewById(R.id.num8);
        num9 = (Button)findViewById(R.id.num9);
        add = (Button)findViewById(R.id.add);
        decrease = (Button)findViewById(R.id.decrease);
        multiply = (Button)findViewById(R.id.multiply);
        devide = (Button)findViewById(R.id.devide);
        cancel = (Button)findViewById(R.id.cancel);
        equal_key = (Button)findViewById(R.id.equal_key);
        operator = (TextView)findViewById(R.id.operator);
        input1 = (EditText)findViewById(R.id.input1);
        input2 = (EditText)findViewById(R.id.input2);
        result = (EditText)findViewById(R.id.result);
        num1.setOnClickListener(this);
        num2.setOnClickListener(this);
        num3.setOnClickListener(this);
        num4.setOnClickListener(this);
        num5.setOnClickListener(this);
        num6.setOnClickListener(this);
        num7.setOnClickListener(this);
        num8.setOnClickListener(this);
        num9.setOnClickListener(this);
        add.setOnClickListener(this);
        decrease.setOnClickListener(this);
        multiply.setOnClickListener(this);
        devide.setOnClickListener(this);
        cancel.setOnClickListener(this);
        equal_key.setOnClickListener(this);
        input1.setOnClickListener(this);
        input2.setOnClickListener(this);
       
    }

 public void onClick(View v) {
  int inputid = v.getId();
  if (inputid == R.id.input1)
  {
   input = input1;
  }
  else if (inputid == R.id.input2)
  {
   input = input2;
  }
  else
  {
   CharSequence label = ((Button) v).getText();
   Log.i("isnumberkey",String.valueOf(Character.isDigit(label.charAt(0))) );
   Log.i("is_cancel=",String.valueOf(String.valueOf(label).charAt(0)=='c') );
   if (String.valueOf(label).charAt(0)=='=')
   {
    Log.i("down the equal_key","1");
    opresult = operator(opstr.charAt(0));
    result.setText(String.valueOf(opresult));
   }
   else
   {
    if (String.valueOf(label).charAt(0)=='c')
     {
     operator.setText("");
     input1.setText("");
     input2.setText("");
     }
    else{
     if (Character.isDigit(label.charAt(0)))
     {
      Log.i("enter into number key","enter into number key");
      numkey(Integer.valueOf(((Button)v).getText().toString()));
      
     }
     else
      {
      Log.i("enter into operator key","enter into operator key");
      operator.setText(label);
      opstr = String.valueOf(label);
      }
     }
   }
  }
 }
 public void numkey(int keynum)
 {
  
 String snum = String.valueOf(keynum);
 String prestr = String.valueOf(input.getText());
 String inputstr = prestr+snum;
 Log.i("inputstr",inputstr);
 input.setText(inputstr);
//  if (String.valueOf(input1.getText()).length()<1)
//  {input1.setText(snum);
//   input1value = keynum;
//  Log.i("input1_text=",String.valueOf(input2.getText()));}
// else
//  {input2.setText(snum);
//   input2value = keynum;
//  Log.i("input2_text",String.valueOf(input2.getText()));}
 }
 public float operator(char opchar)
 { 
  float int1 = Float.valueOf(String.valueOf(input1.getText()));
  float int2 = Float.valueOf(String.valueOf(input2.getText()));
  float result = 0;
  switch (opchar)
  {
  case '+':
   result = int1+int2;
   break;
  case '-':
   result = int1-int2;
   break;
  case '*':
   result = int1*int2;
   break;
  case '/':
  
   if (int2 ==0)
   {
    result =0;
    break;
   }
   else
   {
    result = int1/int2;
    break;
   }
  default:result=0;
    break;
  }
  Log.i("result=",String.valueOf(result));
  return result;
 }
}
  • 大小: 51.6 KB
分享到:
评论

相关推荐

    advanced.scientific.calculator.calc991.plus(1).apk

    advanced.scientific.calculator.calc991.plus(1).apk

    初学gui做了一个计算器的gui-calculator.fig

    初学gui做了一个计算器的gui-calculator.fig 初学gui,做了一个简单的计算器gui,和大家一起分享学习matlab的快乐 matlab_calculator.JPG calculator.fig ...

    CUDA_Occupancy_Calculator.xls

    CUDA开发所使用的资源占用和性能分析工具,有助于分析和优化CUDA代码。

    com.mjb.calculator.apk

    com.mjb.calculator.apk

    Calculator.rar

    标题中的"Calculator.rar"表明这是一个关于计算器程序的压缩文件,可能是源代码或者可执行程序,格式为RAR。从描述来看,这份代码并非原创,而是作者在网上找到的,并且他认为这份代码对于有经验的开发者来说没有太...

    计算机Calculator.apk

    计算机 Calculator apk

    calculator.html

    calculator.html

    Calculator2.zip

    【Calculator2.zip】是一个包含简单C++实现的计算器项目的压缩包,专为在Visual Studio 2019环境中运行而设计。这个项目的核心功能是执行基本的数学运算,包括加法、减法、乘法和除法。让我们深入探讨这个计算器程序...

    calculator 1.0.rar

    在这个压缩包中,包含两个核心文件:"calculator 1.0.py" 和 "button.py",它们分别代表了计算器的主程序和按钮功能模块。 首先,让我们详细了解一下 "calculator 1.0.py"。这个文件很可能是计算器的主程序,负责...

    368086444331863calculator.apk

    368086444331863calculator.apk

    calculator.rar

    在"calculator.rar"这个例子中,我们可能有一个名为"calculator"的项目,它是一个简单的计算器应用。通过使用Qt Script,我们可以为这个计算器添加更复杂的功能,如自定义运算符或者高级数学函数,而无需重新编译C++...

    C51 Calculator.rar

    C51 Calculator.rar 文件是一个基于C51语言开发的4*4键盘计算器项目。C51是Microchip Technology公司为8051微控制器系列设计的一种高级编程语言,它是标准C语言的一个扩展,增加了对硬件直接访问的功能,因此在...

    calculator(java).rar_java calculator_java 计算器_java计算器连加_java連加

    这个"calculator(java).rar"压缩包包含的资源很可能是一个实现了连加、连减、连乘、连除功能的Java计算器应用。下面我们将详细探讨这些知识点。 1. **Java基础**: Java是一种广泛使用的高级编程语言,以其“一次...

    Calculator-java.zip_calculator.java

    标题中的"Calculator-java.zip_calculator.java"表明这是一个关于Java编程的项目,具体是一个简单的计算器应用。这个项目包含了一个名为"Calculator.java"的核心源代码文件,它可能是整个计算器功能的实现。...

    com.sqlitecd.calculator105.apk

    com.sqlitecd.calculator105.apk

    Calculator.js

    Calculator.js

    Qt_calculator.rar

    【Qt Calculator】是一个基于Qt框架开发的简单计算器应用,主要用于实现基本的加、减、乘、除四则运算。这个项目对于初学者来说是学习Qt编程和GUI设计的一个良好起点,因为它涉及到用户界面的设计和基本的事件处理。...

Global site tag (gtag.js) - Google Analytics