Java 我想并排输出多个三角形,但它们都显示在彼此的顶部
有一个练习要求我输出和输入的数字一样多的三角形。因此,我的代码如下所示:Java 我想并排输出多个三角形,但它们都显示在彼此的顶部,java,for-loop,Java,For Loop,有一个练习要求我输出和输入的数字一样多的三角形。因此,我的代码如下所示: public static void main(String[] args) { Scanner in = new Scanner(System.in); int triangles = in.nextInt(); int i, j, k; for (int n = 1; n <= triangles; n++) {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int triangles = in.nextInt();
int i, j, k;
for (int n = 1; n <= triangles; n++) {
for (i = 1; i <= triangles; i++) {
for (k = 1; k <= triangles - i; k++) {
System.out.print(" ");
}
for (j = k; j <= triangles; j++) {
System.out.print("*");
}
for(int l = triangles - 1; l > k - 1; l--) {
System.out.print("*");
}System.out.println("");
}
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int三角形=in.nextInt();
int i,j,k;
对于(int n=1;n这里有一个丑陋的mofo(有效):
publicstaticvoidmain(字符串[]args){
整数三角形=5;
//初始化列计数
int列=三角形*2-1;
int[]starsPerRow=新的int[三角形];
//每排有几颗星
对于(int i=0;我不确定是否得到它,但我会找到它的…谢谢!
public static void main(String[] args) {
int triangles = 5;
//initialize column count
int columns = triangles * 2 - 1;
int[] starsPerRow= new int[triangles];
//how many stars in each row
for (int i=0; i<triangles; i++) {
starsPerRow[i] = i*2+1;
}
//create a triangle "template". only one triangle map
char[][] triangeMatrix = new char[triangles][columns];
for (int i=0; i<triangles; i++) {
for (int j=0; j<(columns - starsPerRow[i])/2; j++) {
triangeMatrix[i][j] = ' ';
}
for (int j=0; j<starsPerRow[i]; j++) {
triangeMatrix[i][j + (columns - starsPerRow[i])/2] = '*';
}
for (int j=0; j<(columns - starsPerRow[i])/2; j++) {
triangeMatrix[i][j + (columns + starsPerRow[i])/2] = ' ';
}
}
//print triangle map n times
for (int i=0; i<triangles; i++) {
for (int j=0; j<triangles; j++) {
for (int k=0; k<columns; k++) {
System.out.print(triangeMatrix[i][k]);
}
}
System.out.println();
}
}