我必须制作一个钻石形状的图案,例如:
1
1 2
1 2 3
1 2 3 4 5
1 2 3
1 2
1
我写了这个(对不起,如果对于变量名,这只是我程序的一小部分,我正在努力使模式正确,所以我现在不介意我的变量):
public class NewFile{
public static void main(String []args){
int k = 0;
for (int i=1 ; i<=5 ; i++)
{
{ for (int h=2 ; h >= i ; h--)
System.out.print(" ");
for (int j=1 ; j<= i + k ; j++)
System.out.print(j);
for (int w=2 ; w>= i; w--)
System.out.print(" ");
}
k++;
System.out.println();}
}
}
我的输出如下:
1
123
12345
1234567
123456789
我意识到我应该使用两个循环将代码分成下三角和上三角。但是,我不知道如何打破第一部分。我确实找到了“趋势”,但我没有看到如何实现它。
答案 0 :(得分:0)
以下代码将显示由星号组成的菱形:
int i = 0, j, k, n;
n = 7; // 7 characters high. Change as needed.
for (k = 1; k <= (n + 1) / 2; k++) {
for (i = 0; i < n - k; i++) {
System.out.print(" ");
}
for (j = 0; j < k; j++) {
System.out.print("* ");
}
System.out.println("");
}
for (k = ((n + 1) / 2); k < n; k++) {
for (i = 1; i < k; i++) {
System.out.print(" ");
}
for (j = 0; j < n - k; j++) {
System.out.print(" *");
}
System.out.println("");
}
整数n表示钻石的高度(以字符为单位),可以根据需要进行更改。