Требуются правки в программе

Ответить
V3_I
Сообщения: 2
Зарегистрирован: 27 дек 2018, 18:00

Требуются правки в программе

Сообщение V3_I » 27 дек 2018, 18:11

Ребят, всех с наступающим! Недавно начал изучать андроид программирование. Решил написать калькулятор для расчета итоговой оценки по рубежным оценкам и экзамену, а также расчет необходимой оценки за экзамен, чтоб остаться на стипендии. Формулы, определения,вроде, все указал, но все равно пишет ошибки. Что-то с библиотекой, но не могу найти где ошибка. Заранее прошу извинений, если ошибка грубая, ведь я только недавно начал изучать

Код: Выделить всё

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);
        }
    }

Ответить