Я новичок в Java и Android Studio. Я сделал (несколько сложный) калькулятор, который вычислял дроби вместе с целыми числами, а также смешанные дроби. Он работает, сначала преобразовывая введенное число (в каком бы формате оно ни было) в дробь, а затем вычисляя. Вот часть кода:
buttonAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String fraction_1 = editTextNum1.getText().toString();
String fraction_2 = editTextNum2.getText().toString();
int Num1, Den1, Num2, Den2;
if (fraction_1.contains("/") && !fraction_1.contains(" ")){
Num1 = Integer.parseInt(getFraction(fraction_1)[0]);
Den1 = Integer.parseInt(getFraction(fraction_1)[1]);
} else if (fraction_1.contains(" ") && fraction_1.contains("/")){
int[] frac1 = convertFromMixed(fraction_1);
Num1 = frac1[0];
Den1 = frac1[1];
}
else if (!fraction_1.contains("/")) {
Num1 = Integer.parseInt(fraction_1);
Den1 = 1;
}
else{
invalidinput invalidinput = new invalidinput();
invalidinput.show(getSupportFragmentManager(), "num1error");
}
if (fraction_2.contains("/") && !fraction_2.contains(" ")){
Num2 = Integer.parseInt(getFraction(fraction_2)[0]);
Den2 = Integer.parseInt(getFraction(fraction_2)[1]);
} else if (fraction_2.contains(" ") && fraction_2.contains("/")){
int[] frac2 = convertFromMixed(fraction_1);
Num2 = frac2[0];
Den2 = frac2[1];
}
else if (!fraction_2.contains("/")){
Num2 = Integer.parseInt(fraction_2);
Den2 = 1;
} else{
invalidinput invalidinput = new invalidinput();
invalidinput.show(getSupportFragmentManager(), "num2error");
}
int commonDen = getLCM(Den1, Den2);
Num1 = (commonDen/Den1)*Num1;
Num2 = (commonDen/Den2)*Num2;
int addNum = Num1 + Num2;
if (simplify.isChecked()){
String result = simplify(addNum, commonDen);
result = checkFor1(result);
result = checkForWhole(result);
textViewResult.setText(result);
} else {
String result = addNum + "/" + commonDen;
result = checkFor1(result);
textViewResult.setText(result);
}
}
});
Я получаю сообщение об ошибке в последней части, где вычисляется commonDen. Он говорит, что Num1, Num2, Den1 и Den2 не инициализированы. Это всего лишь добавочная часть. Я получаю сообщение об ошибке, когда эти переменные используются для расчета. Пожалуйста, помогите.