歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android開發之SimpleCalculate簡易單行計算器源碼

Android開發之SimpleCalculate簡易單行計算器源碼

日期:2017/3/1 10:04:17   编辑:Linux編程

這是一個Android開發的簡易的計算器,只能進行簡單的四則運算,其亮點單行顯示,是為“簡易”,當我們要計算某兩個數的四種運算時,將會是很好的效果

先上主界面:

package com.qq.zxjzzg;

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;
import android.widget.Toast;

public class CalculateActivity extends Activity {
private EditText factorOne;
private EditText factorTwo;
private Button minus;
private Button finalresult;
int position = 0;
Double result;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

factorOne = (EditText)findViewById(R.id.factorOne);
factorTwo = (EditText)findViewById(R.id.factorTwo);
minus = (Button)findViewById(R.id.minus);
finalresult = (Button)findViewById(R.id.result);

minus.setOnClickListener(new OnClickListener() {

//先新一個數組,用來裝運算符號
private int[] operation =
{
R.string.plus,
R.string.minus,
R.string.multips,
R.string.divide,
};
@Override
public void onClick(View v) {
//首先要確定是否有輸入數字
if(!(factorTwo.getText().toString().equals("") || factorOne.getText().toString().equals(""))){
minus.setText(this.operation[position]);//顯示運算符號
//轉換數據類型
int factorone = Integer.parseInt(factorOne.getText().toString());//在收集數據時強制進行數據轉換
int factortwo = Integer.parseInt(factorTwo.getText().toString());
//根據當前的運算符來計算結果
switch (position) {
case 0:
result = (double) (factorone + factortwo);
break;
case 1:
result = (double) (factorone - factortwo);
break;
case 2:
result = (double) (factorone * factortwo);
break;
case 3:
result = (double) (factorone / factortwo);
break;
}
//if(result = )
String r = Double.toString(result);//int轉String用於在TextView中顯示
finalresult.setText(r);
//改變運算符號
position++;
if(position > 3){position = 0;}

}else{
Toast.makeText(CalculateActivity.this, R.string.error, 5000).show();

}

}



});

//下面是有關於計算的一些代碼,可供完善計算器作為參考

/* String str1 = factorOne.getText().toString();
String str2 = factorTwo.getText().toString();

int int1 = Integer.parseInt(str1);
int int2 = Integer.parseInt(str2);

int plus1 = int1 + int2;
int minus1 = int1 - int2;
int multiply1 = int1 * int2;
int divide1 = int1 / int2;


result.setText(minus1);
result.setText(multiply1);
result.setText(divide1);


plus.setOnClickListener(new plusListener());
/* minus.setOnClickListener(new minusListener());
multiply.setOnClickListener(new multiplyListener());
divide.setOnClickListener(new divideListener());
*/
}
/*
class plusListener implements OnClickListener{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String str1 = factorOne.getText().toString();
String str2 = factorTwo.getText().toString();
int int1 = Integer.parseInt(str1);
int int2 = Integer.parseInt(str2);
int plus1 = int1 + int2;
//result.setText(plus1);
}
}

/* class minusListener implements OnClickListener{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String str1 = factorOne.getText().toString();
String str2 = factorTwo.getText().toString();
int int1 = Integer.parseInt(str1);
int int2 = Integer.parseInt(str2);
int minus1 = int1 - int2;
result.setText(minus1);
}
}
class multiplyListener implements OnClickListener{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String str1 = factorOne.getText().toString();
String str2 = factorTwo.getText().toString();
int int1 = Integer.parseInt(str1);
int int2 = Integer.parseInt(str2);
int multips1 = int1 * int2;
result.setText(multips1);
}
}
class divideListener implements OnClickListener{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String str1 = factorOne.getText().toString();
String str2 = factorTwo.getText().toString();
int int1 = Integer.parseInt(str1);
int int2 = Integer.parseInt(str2);
int divide1 = int1 / int2;
result.setText(divide1);
}
}

*/
}

Copyright © Linux教程網 All Rights Reserved