Мне просто интересно, почему я не могу бесконечно зацикливать свой метод, когда я пытаюсь это с помощью «while (true)», тогда он работает, но если я сделаю это с помощью моего объекта «Счетчик», который запускается метод "function()" бесконечно, тогда он работает только до 6200, иногда он меняет максимальное значение до ~ 6100 или ~ 6300, кто-нибудь знает, почему он работает таким образом и, может быть, как?Пытаться к методу петли бесконечно
public class Infinity {
public static void main(String[] argv)
{
//Counter count = new Counter((short)0,(short)6180,(short)1);
//count.startCounter(true);
int a = 1;
while (true) {
a = a + 1;
System.out.println("Value: " + a);
}
}
}
Это мой Основной класс
public class Counter
{
private short max;
private short number;
private short multiplicator;
public Counter(short n,short m,short mp)
{
System.out.println("Implementing given numbers...");
this.number=n;
this.max=m;
this.multiplicator=mp;
System.out.println("");
}
public void startCounter(boolean b)
{
if (b == true)
{
System.out.println("-----------------------------------");
System.out.println("Starting counting from " + this.number + " to " + this.max);
System.out.println("-----------------------------------");
this.function();
}
else {
System.out.println("Your Counter was set to false, abborting Start...");
}
}
public void function()
{
if (this.number < this.max)
{
this.number = (short)(this.number + this.multiplicator);
System.out.println("Number: " + this.number);
this.function();
}
else {
System.out.println("Ending of Number");
}
}
}
Это мой дополнительный счетчик класса
Вы получаете ошибку 'StackOverflow'? –
@EliSadoff вы имеете в виду Stackoverflow? – Li357
Когда я устанавливаю максимальное число, например, 9000, я получаю много строк «на Counter.function (Counter.java:36)» – zapole