Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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_Drawing - Fatal编程技术网

Java模式设计

Java模式设计,java,drawing,Java,Drawing,我尝试在java上创建此模式: ******* ****** ***** **** *** ** * 但是,到目前为止,我只能生成以下代码: public class Pattern { public static void main(String [] args) { int height = 7; for (int i = 0; i <= height; i++ ) { for (int j = 0; j &

我尝试在java上创建此模式:

*******
 ******
  *****
   ****
    ***
     **
      *
但是,到目前为止,我只能生成以下代码:

public  class Pattern
{
  public static void main(String [] args) {
    int height = 7;
    for (int i = 0; i <= height; i++ ) {
      for (int j = 0; j <= i ; j++) {
        System.out.print("*");
      }
      System.out.println();
    }
  }
 }
我应该更改代码的哪一部分才能生成第一个图像

谢谢你的帮助, 如果这是一个错误的问题,我道歉
但是我非常感谢您的帮助。

您必须更改内部循环。当前循环到当前行号(=高度),并且在每次迭代中,向当前行添加一颗星。所以它将从一颗星开始,然后上升到八颗星,因为你的身高设置为7。 要使其反转,必须反转内部循环,因此它从8颗星(高度-i)开始,然后返回到1颗星:

for (int j = height - i; j >= 0; j--) {
    System.out.print("*");
}

你必须改变内环。当前循环到当前行号(=高度),并且在每次迭代中,向当前行添加一颗星。所以它将从一颗星开始,然后上升到八颗星,因为你的身高设置为7。 要使其反转,必须反转内部循环,因此它从8颗星(高度-i)开始,然后返回到1颗星:

for (int j = height - i; j >= 0; j--) {
    System.out.print("*");
}

将外部循环更改为
for(int i=height-1;i>=0;i--)

将外部循环更改为
for(int i=height-1;i>=0;i--)
int height=7;
对于(inti=height;i>=1;i--){//reverse,并将“0”更改为“1”
int space_cnt=height-i;//我们需要的空间数
对于(int j=1;j 0){
系统输出打印(“”);
}否则{
系统输出打印(“*”);
}
}
System.out.println();
}
int height=7;
对于(inti=height;i>=1;i--){//reverse,并将“0”更改为“1”
int space_cnt=height-i;//我们需要的空间数
对于(int j=1;j 0){
系统输出打印(“”);
}否则{
系统输出打印(“*”);
}
}
System.out.println();
}

反转外部循环限制:for(int i=高度;i>=0;--i){反转外部循环限制:for(int i=高度;i>=0;--i){我的代码中有一个错误。现在修复并测试了它,所以当前的一个将工作。嘿,伙计们。你们所有的解决方案都工作了,我非常感谢。但是我犯了一个愚蠢的错误。生成的图片应该不同,我在顶部更改了它。你能告诉我怎么做吗?你只需要填充空格。你可以用两个循环完成。第一个循环添加空格,第二个循环可以保持不变。空格数显然是星星的高度数。我已经尝试过了,但它把这一切都放在了同一条线上。如果我太需要的话,我很抱歉,但是你能写代码吗?我对编写java程序非常陌生。你到底做了什么试一下?还有什么你不明白的?我的代码中有一个错误。现在修复并测试了它,所以当前的一个会起作用。嘿,伙计们。你们所有的解决方案都起作用了,我非常感谢。但是我犯了一个愚蠢的错误。生成的图片应该是不同的,我在顶部修改了它。你能告诉我怎么做吗?你只需要修改一下那我就用空格。你可以用两个循环。第一个循环加上空格,第二个循环你可以保持不变。空格的数量显然是星星的高度。我试过了,但它把所有的东西放在同一行。如果我太需要的话,我很抱歉,但是你能写代码吗?我对写j非常陌生ava程序。你到底尝试了什么?还有什么你不明白的?嘿,非常感谢。代码现在显示了形状,但我犯了一个错误。我在顶部绘制了错误的图像。我现在已经更改了。你能看到它并告诉我应该做什么吗?提前谢谢你的帮助:)嘿,非常感谢。代码现在显示了形状,但是我犯了一个错误。我在顶部画错了图像。我现在已经更改了。你能看到它并告诉我该怎么做吗?提前谢谢你的帮助:)
int height = 7;
for (int i = height; i>=1; i-- ) { //reverse,and change '0' to '1'
  int space_cnt = height - i;  //number of space we need
  for (int j = 1; j <= height ; j++) {
    if(space_cnt-->0){
       System.out.print(" ");      
    }else{
       System.out.print("*");
    }
  }
  System.out.println();
}
public class MyPattern {

    public static void main(String[] args) {
        int height = 7;
        for (int i = 0; i < height; i++) {
            for (int j = 0; j < height; j++) {
                if (j >= i) {
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }

            }
            System.out.println();
        }

    }
*******
 ******
  *****
   ****
    ***
     **
      *