Студопедия — Создание простейшего калькулятора
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Создание простейшего калькулятора






 

package com.example.calculator;

 

import android.app.Activity;

import android.os.Bundle;

import android.text.TextUtils;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

 

 

public class MainActivity extends Activity implements OnClickListener {

 

final int MENU_RESET_ID = 1;

final int MENU_QUIT_ID = 2;

 

EditText etNum1;

EditText etNum2;

 

Button btnAdd;

Button btnSub;

Button btnMult;

Button btnDiv;

 

Button btn0;

Button btn1;

Button btn2;

Button btn3;

Button btn4;

Button btn5;

Button btn6;

Button btn7;

Button btn8;

Button btn9;

Button btndot;

 

TextView tvResult;

 

String oper = "";

 

 

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

 

// находим элементы

etNum1 = (EditText) findViewById(R.id.etNum1);

etNum2 = (EditText) findViewById(R.id.etNum2);

 

btnAdd = (Button) findViewById(R.id.btnAdd);

btnSub = (Button) findViewById(R.id.btnSub);

btnMult = (Button) findViewById(R.id.btnMult);

btnDiv = (Button) findViewById(R.id.btnDiv);

 

tvResult = (TextView) findViewById(R.id.tvResult);

 

 

btn0 = (Button) findViewById(R.id.btn0);

btn1 = (Button) findViewById(R.id.btn1);

btn2 = (Button) findViewById(R.id.btn2);

btn3 = (Button) findViewById(R.id.btn3);

btn4 = (Button) findViewById(R.id.btn4);

btn5 = (Button) findViewById(R.id.btn5);

btn6 = (Button) findViewById(R.id.btn6);

btn7 = (Button) findViewById(R.id.btn7);

btn8 = (Button) findViewById(R.id.btn8);

btn9 = (Button) findViewById(R.id.btn9);

btndot = (Button) findViewById(R.id.btndot);

 

// создаем обработчик нажати¤

OnClickListener push0 = new OnClickListener(){

@Override

public void onClick(View a) {

 

// ћен¤ем текст в TextView

etNum1.setText(etNum1.getText() + "0");

}

};

 

// создаем обработчик нажати¤

OnClickListener push1 = new OnClickListener(){

@Override

public void onClick(View a) {

 

// ћен¤ем текст в TextView

etNum1.setText(etNum1.getText() + "1");

}

};

 

// создаем обработчик нажати¤

OnClickListener push2 = new OnClickListener(){

@Override

public void onClick(View a) {

 

// ћен¤ем текст в TextView

etNum1.setText(etNum1.getText() + "2");

}

};

 

// создаем обработчик нажати¤

OnClickListener push3 = new OnClickListener(){

@Override

public void onClick(View a) {

 

// ћен¤ем текст в TextView

etNum1.setText(etNum1.getText() + "3");

}

};

 

// создаем обработчик нажати¤

OnClickListener push4 = new OnClickListener(){

@Override

public void onClick(View a) {

 

// ћен¤ем текст в TextView

etNum1.setText(etNum1.getText() + "4");

}

};

 

// создаем обработчик нажати¤

OnClickListener push5 = new OnClickListener(){

@Override

public void onClick(View a) {

 

// ћен¤ем текст в TextView

etNum1.setText(etNum1.getText() + "5");

}

};

 

// создаем обработчик нажати¤

OnClickListener push6 = new OnClickListener(){

@Override

public void onClick(View a) {

 

// ћен¤ем текст в TextView

etNum1.setText(etNum1.getText() + "6");

}

};

 

// создаем обработчик нажати¤

OnClickListener push7 = new OnClickListener(){

@Override

public void onClick(View a) {

 

// ћен¤ем текст в TextView

etNum1.setText(etNum1.getText() + "7");

}

};

 

// создаем обработчик нажати¤

OnClickListener push8 = new OnClickListener(){

@Override

public void onClick(View a) {

 

// ћен¤ем текст в TextView

etNum1.setText(etNum1.getText() + "8");

}

};

 

// создаем обработчик нажати¤

OnClickListener push9 = new OnClickListener(){

@Override

public void onClick(View a) {

 

// ћен¤ем текст в TextView

etNum1.setText(etNum1.getText() + "9");

}

};

 

 

// создаем обработчик нажати¤

OnClickListener pushdot = new OnClickListener(){

@Override

public void onClick(View a) {

 

// ћен¤ем текст в TextView

etNum1.setText(etNum1.getText() + ".");

}

};

 

 

// прописываем обработчик

btnAdd.setOnClickListener(this);

btnSub.setOnClickListener(this);

btnMult.setOnClickListener(this);

btnDiv.setOnClickListener(this);

 

btn0.setOnClickListener(push0);

btn1.setOnClickListener(push1);

btn2.setOnClickListener(push2);

btn3.setOnClickListener(push3);

btn4.setOnClickListener(push4);

btn5.setOnClickListener(push5);

btn6.setOnClickListener(push6);

btn7.setOnClickListener(push7);

btn8.setOnClickListener(push8);

btn9.setOnClickListener(push9);

btndot.setOnClickListener(pushdot);

 

 

}

 

@Override

public void onClick(View v) {

 

float num1 = 0;

float num2 = 0;

float result = 0;

 

// Проверяем поля на пустоту

if (TextUtils.isEmpty(etNum1.getText().toString())

|| TextUtils.isEmpty(etNum2.getText().toString())) {

return;

}

 

// читаем EditText и заполняем переменные числами

num1 = Float.parseFloat(etNum1.getText().toString());

num2 = Float.parseFloat(etNum2.getText().toString());

 

// определяем нажатую кнопку и выполняем соответствующую операцию

// в oper пишем операцию, потом будем использовать в выводе

switch (v.getId()) {

case R.id.btnAdd:

oper = "+";

result = num1 + num2;

break;

case R.id.btnSub:

oper = "-";

result = num1 - num2;

break;

case R.id.btnMult:

oper = "*";

result = num1 * num2;

break;

case R.id.btnDiv:

oper = "/";

result = num1 / num2;

break;

default:

break;

}

 

// формируем строку вывода

tvResult.setText(num1 + " " + oper + " " + num2 + " = " + result);

}

 

 

//создание меню

@Override

public boolean onCreateOptionsMenu(Menu menu) {

 

menu.add(0, MENU_RESET_ID, 0, "Reset");

menu.add(0, MENU_QUIT_ID, 0, "Quit");

return super.onCreateOptionsMenu(menu);

}

 

//обработка нажатий на пункты меню

@Override

public boolean onOptionsItemSelected(MenuItem item) {

 

switch (item.getItemId()) {

case MENU_RESET_ID:

//очищаем поля

etNum1.setText("");

etNum2.setText("");

tvResult.setText("");

break;

case MENU_QUIT_ID:

//выход из приложения

finish();

break;

}

return super.onOptionsItemSelected(item);

}

}

 







Дата добавления: 2015-10-01; просмотров: 392. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия