Я пытаюсь рекурсивно вызывать метод, пока не получу желаемый результат. Тем не менее, я хочу вызвать метод из другого класса и получить информацию из этого метода, чтобы использовать его в моем рекурсивном методе. Например, предположим, что у меня есть родительский класс с именем Cake
, который содержит информацию о тортике, таком как его тесто (то есть количество теста), расширенный класс с конкретным типом торта, содержащий уникальный экземпляр теста, и у меня есть другой класс называемый Bakery
, где я хочу фактически сделать торты, которые заказываются. У меня есть метод в Bakery
под названием createCake
, и я хочу рекурсивно вызывать этот метод до тех пор, пока в кастрюле не появится достаточно тесто для создания торта. Если количество тестового файла генерируется случайным образом в расширенном классе, как я могу вызвать метод getBatter
из этого класса и получить информацию о количестве тестового материала, чтобы использовать его в моем рекурсивном методе создания тортов? Может ли кто-нибудь помочь мне с этим? Я делаю что-то похожее на это, но я не совсем понимаю, как бы я хотел получить информацию, чтобы заставить рекурсию работать. У меня есть пример кода ниже, так что вы можете иметь представление о том, что я пытаюсь сделать (я знаю, что это не очень точно). Любая помощь будет принята с благодарностью.Как вызвать метод рекурсивно?
import java.util.Random;
public abstract class Cake
{
static Random gen = new Random(System.currentTimeMillis());
public int type; //type of cake
public static int batter = gen.nextInt() * 3; //random amount of batter
public int getType()
{
return type;
}
public int getBatter()
{
return batter;
}
}
public class RedVelvet extends Cake
{
public int type;
public int batter = gen.nextInt(3)+6; //generates between 6-8 cups of batter inclusive
public int getType()
{
return 1;
}
public int getBatter()
{
return batter;
}
}
public class Chocolate extends Cake
{
public int type;
public int batter = gen.nextInt(3)+6; //generates between 6-8 cups of batter inclusive
public int getType()
{
return 2;
}
public int getBatter()
{
return batter;
}
}
public class Pound extends Cake
{
public int type;
public int batter = gen.nextInt(3)+6;
public int getType()
{
return 3;
}
public int getBatter()
{
return batter;
}
}
public class Bakery
{
import java.util.Scanner;
System.out.print("Enter desired size of cake to be baked (Must be at least 12):");
desiredSize=scan.nextInt();
public static void createCake(int desiredSize, int currentSize) //currentSize is the current amount of batter in the pan
{
if (currentSize == desiredSize)
return;
else if (currentSize < desiredSize)
{
//Recursively call createCake method so that batter continues to be added to the pan until there is enough to make the desired cake size. I want to get the batter information from one of the extended classes in order to add it to the cake.
}
}
Ваш вопрос не очень понятно, пожалуйста, напишите некоторый код, т.е., классы, которые вы создали –