. Моя программа должна запускать формулу и распечатывать конечный продукт, когда счетчик достигает 100 200 500, и когда переменная попадает в определенное значение. В настоящее время он печатаетLoop не проверяет несколько, если
Исключения в потоке «основной» java.lang.ArithmeticException:/нулевого
Что я понимаю, потому что до того, как счетчик вступает в силу и наталкивается переменной она пытается разделить на нуль, что и вызывает это. Когда я изменяю переменную, она останавливается на 100 и печатает «Значение π при 100 равно: 0.0». Вот код:
int i = 1;
int counter = 0;
double pi = 4/((2*i)*(2*i+1)*(2*i+2));
while(counter <= 100){
i++;
counter ++;
if(i==100){
System.out.println("The value of \u03C0 at 100 is: "+ pi);
}
if (i==200){
System.out.println("The value of \u03C0 at 200 is: " +pi);
}
if (i==500){
System.out.println("The value of \u03C0 at 500 is:"+pi);
}
if(pi==3.14159){
System.out.println("The number of iterations to get to 3.14159 is "+counter+". \u03C0 = 3.141599074");
}
}
Там нет ничего в размещенном коде, где '/ по zero' может произойти – janos
Это полный код? Только разделение, которое я вижу, это 'double pi = 4/((2 * i) * (2 * i + 1) * (2 * i + 2));' и оно не бросает 'divide zero zero'? – sam
Вы никогда не достигнете i == 200, потому что ваш цикл while останавливается на 100, а i и счетчик увеличиваются с той же скоростью. –