我坚持使用for-loop在第二行末尾制作符号,我曾尝试过几次仍然无法正常工作。有人能告诉我哪里做错了吗?
////////////////\\\\\\\\\\\\\\\\
////////////********
////////****************
////************************
********************************
它假设看起来像这样:
////////////////\\\\\\\\\\\\\\\\
////////////********\\\\\\\\\\\\
////////****************\\\\\\\\
////************************\\\\
********************************
这是我的代码:
public static void main (String [] args){
for (int lineOne=1; lineOne<=16; lineOne += 2){
System.out.print("//");
}
for (int lineOne=1; lineOne<=32; lineOne += 2){
System.out.print("\\");
}
System.out.println("");
for (int a=8; a<=32; a += 8)
{
for (int b=12; b < (28 - a / 2); b +=2)
{
System.out.print("//");
}
for (int c=0; c<a; c++)
{
System.out.print("*");
}
System.out.println("");
}
}
答案 0 :(得分:0)
首先,"\\"
实际上只是一个反斜杠,已转义。这就是为什么你必须打印32 "\\"
来平衡16 "//"
的原因。您可能打算打印出16 "\\\\"
s。
其次,你没有代码在第一行后打印反斜杠。所以我建议你添加一些代码来处理这个问题。
第三,您的源代码是制表符和空格缩进的混合。在查看自己程序的逻辑流程时,可能会让您感到困惑。一致的缩进可能对你有帮助。
答案 1 :(得分:0)
似乎你根本就没打印过它。
应该可以正常工作:
for (int lineOne=1; lineOne<=16; lineOne += 2){
System.out.print("//");
}
for (int lineOne1=1; lineOne1<=32; lineOne1 += 2){
System.out.print("\\");
}
System.out.println("");
for (int a=8; a<=32; a += 8)
{
for (int b=12; b < 28-a/2; b +=2)
{
System.out.print("//");
}
for (int c=0; c<a; c++)
{
System.out.print("*");
}
// this prints your "\\"
for(int k = 0;k<16-a/2;k++)
{
System.out.print("\\");
}
System.out.println(" ");
}