Я получаю сообщение об ошибке "Выбор не был инициализирован" в моем коде, но я уже инициализировал его незадолго до этого. Цель состоит в том, чтобы файл зацикливался на первой опции, если пользователь ввел 'y'. Мне действительно нужна ваша помощь специалиста. Код работает без кода, пока он не зацикливается, но с ним я получаю неинициализированную ошибку.
import java.util.Scanner;
/**
*
* @author Arren
*/
public class Math {
/**
* @param args the command line arguments
*/
@SuppressWarnings("empty-statement")
public static void main(String[] args) {
// TODO code application logic here
int numerator;
int denominator;
char Choice;
String showFractionForm;
int determineLowestTerm;
float determineDecimalEquivalent;
String determineFractionType;
{
do {
Scanner input = new Scanner(System.in);
System.out.print("Enter the numerator ==> ");
numerator = input.nextInt();
System.out.print("Enter the denominator ==> ");
denominator = input.nextInt();
showFractionForm = (numerator + "/" + denominator);
determineDecimalEquivalent = ((float) numerator) / denominator;
System.out.println("***************OUTPUT***************");
System.out.println("NUMERATOR : " + numerator);
System.out.println("DENOMINATOR : " + denominator);
System.out.println("FRACTION : " + showFractionForm);
int smaller = numerator < denominator ? numerator : denominator;
int HCF = -1;
for (int i = smaller; i > 0; --i) {
if (numerator % i == 0 && denominator % i == 0) {
HCF = i;
System.out.println("LOWEST TERM : " + (numerator / HCF) + "/" + (denominator / HCF));
System.out.println("DECIMAL EQUIVALENT : " + determineDecimalEquivalent);
if (numerator < denominator) {
System.out.println("FRACTION TYPE : PROPER FRACTION");
} else if (numerator > denominator) {
System.out.println("FRACTION TYPE : IMPROPER FRACTION");
} else {
System.out.println("FRACTION TYPE : WHOLE NUMBER");
}
System.out.println("");
System.out.println("Input again? [y/n] --> ");
Choice = input.next().charAt(0);
}
while (Choice != 'n');
}
}
}
}
}