簡體   English   中英

Java三角形圖案打印

[英]Java Triangle Pattern Printing

嘗試編寫一個程序,該程序將打印許多三角形的圖案,包括空心和實心。 我已經通過使用構造函數以及其他實用程序方法實現了這一點。 截至目前,我正在嘗試顯示大小為7的三角形,並帶有以下字符(*)。

由於某種原因,我只能得到以下輸出:0000。我在下面創建了一個測試三角形

Triangle s1 = new Triangle(7, '*');
s1.displaySolidUL();

public class Triangle {

// Declare & intialize data fields
final private static char defaultChar = '*';
final private static int defaultSize = 10;

private static char triangleChar;
private static int triangleSize;

private static int triangleCount = 0;


// Constructors 
 public Triangle() {
  this(defaultSize, defaultChar);
 }

 public Triangle(int s) {
  this(s, defaultChar);
 }

 public Triangle(char n) {
  this(n, defaultChar);
 }

 public Triangle(int size, char character) {
  if ((triangleSize <= 0) || (triangleSize > 50)) {
     size = defaultSize;
     // System.out.println(errorSizeMsg);
  } else if (triangleChar == ' ') {
     character = defaultChar;
     // System.out.println(errorBlankChar);
  } else {
     size = triangleSize;
     character = triangleChar;

     // increment triangle count
     triangleCount++;
  }
}

// Accessors and Mutators
public int getSize() {
  return triangleSize;
}

public char getChar() {
  return triangleChar;
}

public void setSize(int size) {
  triangleSize = size;
}

public void setChar(char character) {
  triangleChar = character;
}


// Main methods for displaying triangles
public void displaySolidLL() {

}

public void displaySolidLR() {

}

public void displaySolidUL() {
  for (int row = 0; row <= triangleSize; row++) {
     for (int col = 0; col <= row; col++) {
        System.out.print(triangleChar);
     }
    System.out.println();
  }

}  

public void displaySolidUR() {

}


// Other utility classes
// Printing out new lines
public static void newLine(int numLines) {
  for (int i = 0; i < numLines; i++) {
     System.out.println();
  }
}

// Display triangle count
public static void getTriangleCount() {
  System.out.print("The total number of triangles printed equals: " + triangleCount);
}
}

對我來說,這個問題似乎正在測試循環設計。

考慮以下嵌套的for循環:

for(int i = 0; i < 10; i++) {

    for(int j = 0; j < i; j++) {
        System.out.print('0'); // will iterate i number of times
    }

    System.out.println(); // creates a new line
}

上面注釋的代碼將打印一個以10為底的三角形。 您可以對此進行循環設計擴展以制作等邊三角形/倒三角形。

我希望這可以幫助您概念化該方法並根據需要進行擴展。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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