Я не знаю голландского, поэтому я пишу имена на английском языке sh. Надеюсь, вы поймете.
Если вы хотите рекурсии, попробуйте код ниже. Код будет работать как для прямоугольников, так и для квадратов.
Первый метод (showRowStars) просто выполняет for-l oop вместо l oop, которое у вас зависело от mpAantal, равного 0.
Для второго метода (showRowsOfStars) ), он принимает количество строк в качестве входных данных. Он вызывает метод showRowStars для печати строки звездочек, а затем вызывает сам, за исключением одной строки меньше. Когда количество строк (numRows) достигает 0, оно останавливается.
Если вы не хотите прямоугольник, вы можете вызвать метод showStarSquare, который просто вызывает метод showRowsOfStars, но требует только одного аргумента, поскольку оба измерения одинаковы.
public class loopsLauncher {
//Sterrenrij & SterrenVierKant
public static void main(String[] args) {
//print * 8 times using a method and loop
showRowStars(6);
showRowsOfStars(6, 6);
}
public static void showRowStars(int numStars) {
for (int i = 0; i < numStars; i ++) {
System.out.print(" * ");
}
}
//numStars is stars per row
public static void showRowsOfStars(int numRows, int numStars) {
if (numRows == 0) return;
showRowStars(numStars);
showRowsOfStars(numRows - 1, numStars);
}
public static void showStarSquare(int numStars) {
showRowsofStars(numStars, numStars);
}
}