В моем коде я просто пытаюсь создать простую программу, которая сообщает вам, может ли одно число разделить на другое число равномерно (в этом случае это число равно 3). прямо сейчас я говорю, что если x (число не делится равномерно, добавьте 0,01 к нему, это дает мне ошибку переполнения стека. Если я делаю значение 0.2, то говорит, что 9 является делимым из трех, когда действительно следующее число, которое делит . в три после трех является 6метод рекурсии Ошибка переполнения стека
public class divisible {
public static void divide(double x) {
double three = 3;
double value = x%three;
if (value==0) {
System.out.println(x + " is a divisible of 3 ");
return;
}else{
//System.out.println("x does not divide evenly into 3");
divide(x+(.01));
}
}
public static void main(String args[]) {
divide(4);
}
}
System.out.println (x); вы могли бы попробовать это в своем заявлении? Это поможет вам определить, что x находится на этом пути, и посмотреть, станет ли оно когда-либо. –
Очень избыточно иметь переменную с именем 'three' и присваивать ей' 3'. У вас должно быть значащее имя и сделать его переменной класса. – Maroun