簡體   English   中英

Java:通過調用方法打印三角形和空格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM