我需要编写使用for循环的代码来创建以下内容(一个人的腿):
/***/ \***\ /****/ \****\ /*****/ \*****\
这应该是一个私人方法(即createLegs),腿左侧的空间需要减少到一个数字(即10),所以腿仍然远离(所以我以后可以创造鞋子)和腿之间的空间需要在每排增加。我可以打印将腿移离左侧的空间,但无法弄清楚如何创建斜线,* s介于中间,或者是另一条腿。任何帮助表示赞赏。 这是我到目前为止所做的。
private void drawLegs()
{
final char SPACE=' ';
final int DISTANCE = 16;
final int HEIGHT = 7;
final char FWD='/';
final char BWD='\\';
for(int row=0; row<HEIGHT; row++)
{
int spaces = DISTANCE-row;
for(int count=0;count<spaces;count++)
{
System.out.print(SPACE);
}
System.out.println();
}
答案 0 :(得分:0)
如果你不需要循环,那么最简单的方法就是
private void drawLegs()
{
System.out.println(" /***/ \\***\\");
System.out.println(" /****/ \\****\\");
System.out.println("/*****/ \\*****\\");
}
所以继续前进的方法 - 你不需要在你的程序中执行此操作,只是为了理解问题 - 就是写一个包含以下值的表:(1)第一段之前的空格数,(2) )第一条腿的星数,(3)腿之间的空间数,(4)第二条腿的星数(从上面的代码算起)。
4 3 4 3
2 4 6 4
0 5 8 5
对于每一列,您都有一个起始值(第一行),您应该能够计算循环每次迭代的增量/减量。
您需要的最后一件事是如何连接多个字符。这可以通过for
循环完成。举个例子,假设你要添加60倍的字母&#34; A&#34;在一个字符串的末尾:
String s = "";
for (int j=0; j<60; j++) s = s + "A";
答案 1 :(得分:0)
也许你的问题会有一个具体的答案,但我知道你可以这样做。
private static void drawLegs() {
final char SPACE=' ';
int DISTANCE = 16;
final int HEIGHT = 7;
final char FWD='/';
final char BWD='\\';
int starCount = 1;
for (int row = 0; row < HEIGHT; row++) {
int spaces = DISTANCE - row;
for (int count = 0; count < spaces; count++) {
System.out.print(SPACE);
}
System.out.print(FWD);
for (int i = 0; i < starCount; i++) {
System.out.print("*");
}
System.out.print(FWD);
for (int i = 0; i < starCount*2; i++) {
System.out.print(SPACE);
}
System.out.print(BWD);
for (int i = 0; i < starCount; i++) {
System.out.print("*");
}
System.out.print(BWD);
DISTANCE--;
starCount++;
System.out.println();
}
}