为了让您需要设置形状空间和明星我都由于我只使用嵌套循环使这个简单的程序钻石初学者。
public class Diamond {
public static void main(String[] args) {
int size = 9,odd = 1, nos = size/2; // nos =number of spaces
for (int i = 1; i <= size; i++) { // for number of rows i.e n rows
for (int k = nos; k >= 1; k--) { // for number of spaces i.e
// 3,2,1,0,1,2,3 and so on
System.out.print(" ");
}
for (int j = 1; j <= odd; j++) { // for number of columns i.e
// 1,3,5,7,5,3,1
System.out.print("*");
}
System.out.println();
if (i < size/2+1) {
odd += 2; // columns increasing till center row
nos -= 1; // spaces decreasing till center row
} else {
odd -= 2; // columns decreasing
nos += 1; // spaces increasing
}
}
}
}
,你可以看到号是需要的空间数量将减少至中心行和星数需要增加,但中心后,排它的反面,即空间的增加和星星减少
大小 可以是任意数字我将它设置为9在这里,所以我将有一个大小9星是9行9列...最大的空间(NOS)数量将
9/2 = 4.5
但java会把它当作4因为INT不能存储的十进制数和中心行会
9/2 + 1 = 5.5
这将在INT被视为5。
所以首先你会做成行..9行因此
(INT I = 1;我< =大小;我++)//大小= 9
然后
打印空间,如我没有
(INT K =号; k > = 1; K--)//号为尺寸/ 2
然后最终星
(INT J = 1;Ĵ< =奇数; J ++)
一次行结束......你可以调整使用,如果条件
这听起来像一个编程的锻炼,和一个好。这是你必须摔跤的东西,直到你做对了。这就是编程的全部内容。有人给你答案会把你带走。独自发现它会更好。 – Kon
我同意Kon,但是,如果你在这里遇到死路一条,那么可以问一个具体的问题是可以接受的。一个具体的问题通常会这样说:这是我的问题,这是我认为应该发生的事情,以下是发生的情况,这里是相关的代码。但是Kon又是对的 - 解决问题是编程的重要组成部分,在寻求帮助之前,您可以通过挣扎一会儿来获得更多。 – jeff