所以任务是让系统输出一个三角形,其中的空格在x之间递增(为了便于阅读,添加了破折号代替空格):
XX
X-X
X - X
X - X
X ---- X
X ----- X
X ------ X
x ------- x
所以,我之前已经做过这个并且看起来很容易,但我遇到的问题是让初始空间量正确。我想举例说明如何做到这一点以及为什么它尽可能明确地说明,谢谢。这是我到目前为止的代码,以及输出:
Scanner in = new Scanner(System.in);
System.out.println("How many columns");
col = in.nextInt();
for (int i = 0; i < col; i++)
{
System.out.print("#");
for(int j = 0; j < (i+ 1); j++)
{
System.out.print(" ");
}
System.out.print("#");
System.out.println();
}
输出(当cols = 4时):
X-X
X - X
X - X
x ---- x
真正感谢所有帮助:)
答案 0 :(得分:0)
我认为问题在于最初设定的r值。不需要设置新变量r。
如果i小于j,则循环不会第一次执行,并且循环执行比外部for循环的每个先前迭代多1步
答案 1 :(得分:0)
如下所示更改j的条件。你也将变量声明为col并像cols一样使用它。所以先做出更正。
Scanner in = new Scanner;
System.out.println("How many columns");
col = in.nextInt();
for (int i = 0; i < col; i++)
{
System.out.print("#");
for(int j = 0; j < i; j++)
{
System.out.print(" ");
}
System.out.print("#");
System.out.println();
}
答案 2 :(得分:0)
public static void main(String[]args){
System.out.println("How many columns?");
int columns = new Scanner(System.in).nextInt();
for(int i=0; i<=columns; i++){
String toPrint = "x";
for(int cols=0; cols<i; cols++){
toPrint+=" ";
}
System.out.println(toPrint+"x");
}
}