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