【发布时间】:2013-09-11 19:01:24
【问题描述】:
我无法让我的 for 循环在缩放时使用我的“数字”运行正确的次数。 这里的 LINES 常量是缩放“数字”。
我认为我面临的问题在这里:
for(int k = 0; k < LINES; k++){
System.out.print("*******");
}
应该在底部做一行*。
这是我生成某种楼梯图形的全部代码
public class PP5 {
public static int j;
public static final int LINES = 5;
public static void main(String[] args) {
for(j = 0 ; j < LINES; j++){
fSpaces();
System.out.print(" o *******");
bSpaces();
System.out.println("*");
fSpaces();
System.out.print(" /|\\ *");
bbSpaces();
System.out.println("*");
fSpaces();
System.out.print(" / \\ *");
bbSpaces();
System.out.println("*");
}
for(int k = 0; k < LINES; k++){
System.out.print("*******");
}
}
public static void fSpaces(){
for(int i = (LINES-1); i > j; i--){
System.out.print(" ");
}
}
public static void bSpaces(){
for(int i = 0; i < j; i++){
System.out.print(" ");
}
}
public static void bbSpaces(){
for(int i = 0; i < j+1; i++){
System.out.print(" ");
}
}
}
高度赞赏任何优化。 谢谢
【问题讨论】:
-
到底是什么问题。您可以通过发布您的预期输出和实际输出来说明
-
您的循环打印“*******”
LINE次。所以星号的总数将是 7 乘以LINE。 -
dl.dropboxusercontent.com/u/50868481/java.png 如您所见,它不会在底线产生足够的 *。如果我通过制作 for 循环使其产生足够的结果:k
-
@all 我们或多或少都得出了相同的结论。以一种重新绘制 n/次的方式重做练习,给人一种男人上去的错觉,怎么样?例如。 10 个步骤。 10 次重绘,这个人一直走到顶端……至少我们需要编写更好的代码……同样的方法。没有图书馆,只有像这里这样的角色。如果有兴趣,请在此处回复,我将问题创建为游戏。