If the number of digits is infinite then I mark it as irrational and everything else is rational as it would be finite.
I tired input 3.14 but it crashed and didn't compile the output of irrational or rational.
import java.math.BigDecimal;
import java.util.Scanner;
public class non_terminating_decimals {
public static void main(String[] args) {
Scanner inputNumber = new Scanner(System.in);
System.out.println("input number : ");
BigDecimal inputnumber = inputNumber.nextBigDecimal();
BigDecimal numerofDigits = input(new BigDecimal(String.valueOf(inputnumber)));
BigDecimal infinity = BigDecimal.valueOf(Double.POSITIVE_INFINITY);
if (numerofDigits == infinity) {
System.out.println("Irrational");
}
else {
System.out.println("Rational");
}
}
static int integerDigits(BigDecimal number) {
return number.signum() == 0 ? 1 : number.precision() - number.scale();
}
static BigDecimal input(BigDecimal number) {
return BigDecimal.valueOf(0);
}
}