Не могли бы вы помочь мне найти решение для моего кода? Я делаю новое приложение для Android, в котором мне нужно сделать некоторые вычисления, и сценарий следующий:
Есть четыре поля для расчета. Два поля EditText (число десятичное) являются обязательными, а два других являются необязательными, НО, если дополнительные поля заполнены, то это необходимо сделать при расчете, в противном случае будут использоваться только обязательные поля.
Прямо сейчас у меня все в порядке с вычислением обязательных полей, но когда я пытаюсь использовать условие if-else для включения дополнительных полей в вычисление, приложение выходит из строя.
Я не уверен, где я должен сделать эту двухшаговую опцию, если я должен использовать логическое значение для проверки состояния поля опции, если я просто продолжу использовать if-else ...
Проблема не в самом калькуляторе, а в том, что у кода есть два пути: один, использующий только обязательные поля, если ничего не вставлено, и другой, использующий все четыре поля.
Спасибо всем!
Код ниже использует только два обязательных поля.
public void calcularResultado(View view) {
//check for blank values in obligatory fields
if (editGasolina.length() == 0) {
editGasolina.setError("Insira o valor");
}
if (editEtanol.length() == 0) {
editEtanol.setError("Insira o valor");
//runs the code
} else {
double valorGasolina = Double.parseDouble(editGasolina.getText().toString());
double valorEtanol = Double.parseDouble(editEtanol.getText().toString());
double valorResultado = valorEtanol / valorGasolina;
double porcentagem = (valorResultado) * 100;
String valorResultadoTexto = Double.toString(porcentagem);
valorResultadoTexto = String.format("%.2f", porcentagem);
if (valorResultado >= 0.7) {
textResultado.setText("GASOLINA");
textRendimento.setText(valorResultadoTexto + "%");
} else {
textResultado.setText("ETANOL");
textRendimento.setText(valorResultadoTexto + "%");
}