[英]Java: Printing triangles and spaces by calling methods
我被困在這個問題上:
打印星星和空格
定義一個名為 printSpaces(int number) 的方法,該方法產生由 number 指定的空格數。 該方法不打印換行符。
您還必須復制之前答案的 printStars 方法或在此練習模板中重新實現它。 打印一個右傾三角形
創建一個名為 printTriangle(int size) 的方法,該方法使用 printSpaces 和 printStars 來打印正確的三角形。 所以方法調用 printTriangle(4) 應該打印以下內容:示例輸出
> *
> **
> ***
> ****
我無法在第一個問題上解決空間問題,而且我完全無法制作遞歸三角形。 我看到很多答案都在使用 for 循環,但是我正在工作的班級希望將它們作為方法完成。 我無法理解如何正確翻譯它。 我得到了相反的三角形:
public class Test072 {
public static void main(String[] args) {
printTriangle(4);
}
public static void printTriangle(int size) {
int numSize = 0;
while (numSize < size) {
printStars(numSize);
numSize++;
}
}
public static void printStars(int number) {
int numStar = 0;
while (numStar <= number) {
System.out.print("*");
numStar++;
}
System.out.println();
}
}
一旦我們開始添加空格,我就完全迷失了,不知道如何調用什么以及何時調用。 我不知道如何按照他們的要求將空間方法正確調用到三角形方法中。
這應該可以完成工作。
public static void printTriangle(int size) {
int numSize = 0;
while (numSize < size) {
printSpaces(size - numSize - 1);
printStars(numSize);
numSize++;
}
}
public static void printSpaces(int number) {
int numSpaces = 0;
while (numSpaces < number) {
System.out.print(" ");
numSpaces++;
}
}
public static void printStars(int number) {
int numStar = 0;
while (numStar <= number) {
System.out.print("*");
numStar++;
}
System.out.println();
}
}
//printStars is printing "number" numbers of stars on one line with a line break
public static void printStars(int number) {
for(int i=1;i<=number;i++){
System.out.print("*");
}
System.out.println();
}
//printSpaces print "number" number of spaces on one line
public static void printSpaces(int number) {
for(int i=1;i<=number;i++){
System.out.print(" ");
}
}
public static void printTriangle(int size) {
for(int i=1;i<=size;i++){
printSpaces(size-i);
printStars(i);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.