Почему происходит переполнение стека, если осуществлять цикл посредством for()
, хотя с циклом do-while
компиляция выполняется корректно?
public class HelloWorld{
public static void main(String[] args) {
int i=0;
for(i=0;i<2;i++) {
System.out.println(i+"\t"+fff(i));
}
}
static public long fff (int n) {
if (n==1) return n;
return fff(n-1)*n;
}
}
Ошибка:
Exception in thread "main" java.lang.StackOverflowError
at HelloWorld.fff(HelloWorld.java:25)
at HelloWorld.fff(HelloWorld.java:25)
at HelloWorld.fff(HelloWorld.java:25)
at HelloWorld.fff(HelloWorld.java:25)
В данном коде компиляция выполняется корректно:
public class HelloWorld{
ublic static void main(String[] args) {
int i=0;
do{
i++;
System.out.println(i+"\t"+fff(i));
}while(i<10);
}
static public long fff (int n) {
if (n==1) return n;
return fff(n-1)*n;
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как мне достать весь текст из этого куска статьи? Обычным способом это не получается
Новичок и хотел бы узнать какую СУБД мне "учить"? Открыл hhru посмотрел и везде пишут просто: SQL, я знаю что это язык структурированных запросов,...
Недавно начал изучать servletНа данный момент на томкате развернут проект с одной jsp страничкой