public class XO {
public static void main(String[] args)
{
for(int i=1;i<=6;i++)
{
for(int j=1;j<=i;j++)
{
System.out.print("O");
}
for(int k=6;k>=i; k--)
{
System.out.print("X");
}
System.out.println();
}
}
}
上面的方法打印出来:
OXXXXXX
OOXXXXX
OOOXXXX
OOOOXXX
OOOOOXX
OOOOOOX
但我需要它来制作它并且无法弄明白
OXXXXXX
OOXXXXX
OOOXXXX
OOOOXXX
OOOOOXX
OOOOOOX
基本上,在行之间添加一个空行。
答案 0 :(得分:6)
只要您需要空白行,就可以额外拨打println()
。
public static void main(String[] args)
{
for(int i=1;i<=6;i++)
{
for(int j=1;j<=i;j++)
{
System.out.print("O");
}
for(int k=6;k>=i; k--)
{
System.out.print("X");
}
System.out.println();
System.out.println();
}
}
如果在结尾处抑制额外的空行很重要,则需要添加更多逻辑。
答案 1 :(得分:1)
如果我理解你,只需更改println()
即可打印两行。变化,
System.out.println();
类似
System.out.println(System.lineSeparator());
或只是
System.out.println();
System.out.println();
如果使用两个StringBuilder
(s)来保存X和O字符,也可以用单个循环替换所有这些嵌套循环。像,
StringBuilder xs = new StringBuilder("XXXXXX");
StringBuilder os = new StringBuilder("O");
while (xs.length() > 0) {
System.out.printf("%s%s%n%n", os, xs); //<-- you can also use printf
// this prints two String(s)
// and then two lines.
xs.setLength(xs.length() - 1);
os.append("O");
}
答案 2 :(得分:1)
for(int i=1;i<=6;i++)
{
for(int j=1;j<=i;j++)
{
System.out.print("O");
}
for(int k=6;k>=i; k--)
{
System.out.print("X");
}
System.out.println();
System.out.println();
}
答案 3 :(得分:0)
编辑:正如Ted Hopp在对his answer的评论中指出的那样,set_data()
可能无法在所有系统上作为线路分隔符工作。所以下面的答案无处不在。
只需替换
const
使用
data
set_data()
在打印内部的任何内容后打印换行符(即将您带到下一行)。 "\n"
是换行符的表示。在您的代码中,在每个循环之后,//Your code
System.out.println();
//Remaining code
函数将控件带到下一行但不在其间留下一行。额外的//Some code
System.out.println("\n");
//some code
会将控制权转移到其后的2行。即在两者之间划一条线。
println()
同样。或者您可以连续使用两个\n
语句,如其他答案中所示。选择适合你的任何东西。
答案 4 :(得分:0)
添加额外空白打印语句的最简单方法。
System.out.print("O");
此处,System.out.print("X");
和{{1}}行在打印值后不会转到新行。所以我们必须在外部循环中放置一个空白的print语句。每条印刷线之间的空行。我们必须另外写一个空白的印刷声明。