如何使用Java创建这些形状

最后发布: 2015-10-01 03:11:59


问题
package assignment.pkg3;

import java.util.Scanner;

public class Assignment3 {

  public static void main(String[] args) {
    Scanner stdIn = new Scanner(System.in);
    System.out.print("What integer length do you want: ");
    int length = stdIn.nextInt();

    for (int i = 0; i < length; i++) {
      for (int j = ((length - 1) - i); j > 0; j--) {
        System.out.print(" ");
      }
      for (int a = 0; a <= i; a++) {
        System.out.print("*");
      }
      System.out.println();
    }

    for (int i = 0; i < length; i++) {
      for (int j = 0; j < i; j++) {
        System.out.print(" ");
      }
      for (int a = length; a > i; a--) {
        System.out.print("*");
      }
      for (int b = (length - 1); b > i; b--) {
        System.out.print("*");
      }
      System.out.println();
    }

    for (int i = 0; i < length; i++) {
      for (int j = 0; j <= i; j++) {
        for (int k = 0; k < i; k++) {
          System.out.print(" ");
        }
        for (int a = 0; a <= i; a++) {
          System.out.print("*");
        }
        System.out.println();
      }
    }
  }
}

嗨,我需要帮助制作第3个形状。我什至不知道如何启动它。 我其他3个都做得很好。 (除非我在形状D上的空格有误)。 谁能帮我找到起点。 (顺便说一句,我在一个初学者的Java类中,所以我不能在这里放任何我们没有学到的东西。因此,坚持使用for循环基本上是我们基本上可以使用的lol) 这是pic的链接

java
回答

尝试执行一个并检查-

for (int i = 0; i < length/2; i++){

            for (int j = 0; j < length; j++){
                System.out.print("*" + " ");
            }
            System.out.println("");

            for (int k = 0; k < length-1; k++){
                System.out.print(" " + "*");
            }
            System.out.println("");
        }

希望这能解决您的问题。