Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java制作一个倒三角形_Java_Geometry - Fatal编程技术网

用java制作一个倒三角形

用java制作一个倒三角形,java,geometry,Java,Geometry,我试着把我画的三角形一面朝下。 试了很多次,但我不知道怎么做 我知道的代码是: public static void drawPyramide(int lines, char symbol, boolean startDown) { //TRIANGLE if(startDown) { //The triangle up side down should be here. } else { in

我试着把我画的三角形一面朝下。 试了很多次,但我不知道怎么做

我知道的代码是:

public static void drawPyramide(int lines, char symbol, boolean startDown) {
    //TRIANGLE

    if(startDown) {
                //The triangle up side down should be here. 
            }

    else {
        int c = 1;
        for (int i = 0; i < lines; i++) {
            for (int j = i; j < lines; j++) {
                System.out.print(" ");
            }
            for (int k = 1; k <= c; k++) {
                if (k%2==0) System.out.print(" ");

                else System.out.print(symbol);
            }

        System.out.print("\n");
        c += 2;
        }
    }

}
publicstaticvoiddrawPyramide(int行、字符符号、booleanstartdown){
//三角
如果(开始停机){
//上下三角形应该在这里。
}
否则{
int c=1;
对于(int i=0;i对于(int k=1;k要翻转三角形,你只需要改变迭代的方向,而不是从
i=0
i
你需要从
i=lines-1
i>=0

您还需要将
c
更改为要以多少空格和符号开头

可能是这样的:

int c = 2*lines;
for (int i = lines-1; i>=0; i--)
{
    for (int j = i; j < lines; j++)
    {
        System.out.print(" ");
    }
    for (int k = 1; k <= c; k++)
    {
        if (k % 2 == 0)
        {
            System.out.print(" ");
        }
        else
        {
            System.out.print(symbol);
        }
    }

    System.out.print("\n");
    c -= 2;
}
int c=2*行;
对于(int i=line-1;i>=0;i--)
{
对于(int j=i;j对于(int k=1;k反转第一个循环条件,即从行数开始并减少行数。也相应地调整您的
c
,使其从高到低,例如:

    int c = 2*lines-1;
    for (int i = lines; i > 0; i--) {
        for (int j = i; j < lines; j++) {
            System.out.print(" ");
        }
        for (int k = 1; k <= c; k++) {
            if (k%2==0) System.out.print(" ");

            else System.out.print(symbol);
        }

      System.out.print("\n");
      c -= 2;
    }
int c=2*行-1;
对于(int i=行;i>0;i--){
对于(int j=i;jimport java.util.Scanner;
公共类等边三角形{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
int side=sc.nextInt();
施工(侧);
}
私有静态void constructeqtri(整数长度){
//每行循环
对于(int i=长度;i>0;i--){
//在每行中循环初始空间
for(int k=0;k
运行此操作后的输出是什么如果您可以使三角形正面朝上打印,只需反转循环即可。我得到了一个三角形。我知道。但我已经尝试过,但如何反转循环?您尝试了什么?您完全明白,else分支中的内容是什么吗?尝试将其复制到然后的分支,然后修改它。这很容易做到关于打印三角形的第300个问题。我建议为此类问题创建一个新的SO标记:)
import java.util.Scanner;

public class EquilateralTraingle {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int side = sc.nextInt();
        constructEquTri(side);

    }

    private static void constructEquTri(int length) {
        // loop for each line
        for (int i = length; i > 0; i--) {
            // loop for initial spaces in each line
            for (int k = 0; k < length - i; k++) {
                System.out.print(" ");
            }
            // loop for printing * in each line
            for (int j = 0; j < i; j++) {

                System.out.print("*");
                System.out.print(" ");

            }
            System.out.println();
        }
    }

}
/*Output:
    10
    * * * * * * * * * * 
     * * * * * * * * * 
      * * * * * * * * 
       * * * * * * * 
        * * * * * * 
         * * * * * 
          * * * * 
           * * * 
            * * 
             * 
*/