package com.example.calculater;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
public final static String EXTRA_MESSAGE = "calulater.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
}
public void Add(View view){
try{
EditText editText1 = (EditText) findViewById(R.id.num1);
EditText editText2 = (EditText) findViewById(R.id.num2);
String message1 = editText1.getText().toString();
String message2 = editText2.getText().toString();
float result;
result=Float.parseFloat(message1)+Float.parseFloat(message2);
TextView textview=(TextView)findViewById(R.id.result1);
textview.setText(String.valueOf(result));
}
catch(NumberFormatException e1){Toast.makeText(this, "only input integer please", 3).show();}}
public void Sub(View view){
try{
EditText editText1 = (EditText) findViewById(R.id.num1);
EditText editText2 = (EditText) findViewById(R.id.num2);
String message1 = editText1.getText().toString();
String message2 = editText2.getText().toString();
float result;
result=Float.parseFloat(message1)-Float.parseFloat(message2);
TextView textview=(TextView)findViewById(R.id.result1);
textview.setText(String.valueOf(result));
}
catch(NumberFormatException e2){Toast.makeText(this, "only input integer please", 3).show();}
}
public void Mul(View view){
try{
EditText editText1 = (EditText) findViewById(R.id.num1);
EditText editText2 = (EditText) findViewById(R.id.num2);
String message1 = editText1.getText().toString();
String message2 = editText2.getText().toString();
float result;
result=Float.parseFloat(message1)*Float.parseFloat(message2);
TextView textview=(TextView)findViewById(R.id.result1);
textview.setText(String.valueOf(result));
}
catch(NumberFormatException e2){Toast.makeText(this, "only input integer please", 3).show();}
}
public void Div(View view){
try{
EditText editText1 = (EditText) findViewById(R.id.num1);
EditText editText2 = (EditText) findViewById(R.id.num2);
String message1 = editText1.getText().toString();
String message2 = editText2.getText().toString();
float result;
result=Float.parseFloat(message1)/Float.parseFloat(message2);
TextView textview=(TextView)findViewById(R.id.result1);
textview.setText(String.valueOf(result));
}
catch(NumberFormatException e2){Toast.makeText(this, "only input integer please", 3).show();}
}
/* @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
android 計算器(2)
源碼如上,主要是添加button的單擊事件的處理方法add,sub,mul,div.用了try-catch 結構處理異常。
ps:numberFormatException是java提供的數字格式化異常。做了toast,發現輸入的數據不是數字就會toast個提示。toast最後結尾要有個show()函數,否則顯示不出來。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.