public static void diamondOfAsterisks(int numOfRows){
String diamondStr="";
for (int row = 1; row == (numOfRows/2+1); row++){
for (int space = numOfRows; space < row; space--){
diamondStr += " ";
}
for (int stars = 1; stars >= (2 * row) - 1; stars++){
diamondStr+= "*";
}
diamondStr+="\n";
}
for (int row = numOfRows/2 ; row >= 1; row--){
for (int space = numOfRows; space > row; space--){
diamondStr += " ";
}
for (int stars = 1; stars <= (2 * row)-1; stars ++){
diamondStr += "*";
}
diamondStr += "\n";
}
System.out.print(diamondStr);
我正在编写一个Java程序来创建一个用星号制作的钻石。上面的代码基于提供给我的伪代码。但是,在带有Java 8u25的NetBeans 8.0.1中(怀疑它是IDE的一个问题,但以防万一),第一个for循环似乎没有向diamondStr添加任何东西。我误解或做错了什么?
答案 0 :(得分:1)
在第一个for循环中,执行循环的条件是row ==(numOfRows / 2 + 1),我认为这是一个错误 应将其更改为行&lt; =(numOfRows / 2 + 1)