Код: Выделить всё
package kz.kstu.my.calculator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends Activity implements OnClickListener{
final int MENU_RESET_ID = 1;
final int MENU_QUIT_ID = 2;
EditText etNum1;
EditText etNum2;
EditText etNum3;
EditText etNum4;
Button btnExs;
Button btnRes;
TextView tvResult;
@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("");
etNum3.setText("");
etNum4.setText("");
tvResult.setText("");
break;
case MENU_QUIT_ID:
// выход из приложения
finish();
break;
}
return super.onOptionsItemSelected(item);
}
/** Called when the activity is first created. */
@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);
etNum3 = (EditText) findViewById(R.id.etNum3);
etNum4 = (EditText) findViewById(R.id.etNum4);
btnExs = (Button) findViewById(R.id.btnExs);
btnRes = (Button) findViewById(R.id.btnRes);
tvResult = (TextView) findViewById(R.id.tvResult);
// прописываем обработчик
btnExs.setOnClickListener(this);
btnRes.setOnClickListener(this);
}
@Override
public void onClick(View v) {
double num1 = 0;
double num2 = 0;
double num3 = 0;
double num4 = 0;
double k1 = 0.3;
double k2 = 0.4;
// Проверяем поля на пустоту
if (TextUtils.isEmpty(etNum1.getText().toString())
|| TextUtils.isEmpty(etNum2.getText().toString())
|| TextUtils.isEmpty(etNum3.getText().toString())
|| TextUtils.isEmpty(etNum4.getText().toString())) {
return;
}
// читаем EditText и заполняем переменные числами
num1 = Double.parseDouble(etNum1.getText().toString());
num2 = Double.parseDouble(etNum2.getText().toString());
num3 = Double.parseDouble(etNum3.getText().toString());
num4 = Double.parseDouble(etNum4.getText().toString());
// определяем нажатую кнопку и выполняем соответствующую операцию
switch (v.getId()) {
case R.id.btnExs:
num3 = (num4-(num1+num2)*k1)/k2;
break;
case R.id.btnRes:
num4 = (num1 + num2)*k1 + (num3 * k2);
break;
default:
break;
}
// формируем строку вывода
tvResult.setText("(" + num1 + " " + "+" + " " + num2 + ")" + "*" + " " +k1 + "+" + num3 + "*" + k2 + " = " + num4);
}
}