打印我的钻石时遇到问题, 我尝试了我能做的一切,但仍然会出现。 请帮忙。
打印我的钻石时遇到问题, 我尝试了我能做的一切,但仍然会出现。 请帮忙。
Enter Input: 5
*
* *
* *
* *
* *
* *
* *
* *
*
它打印像这样,但它不应该。 它应该是
*
* *
* *
* *
* *
* *
* *
* *
*
这是ma代码
import java.util.Scanner;
public class triangleBRO
{
public static void main(String agrs[])
{
Scanner in = new Scanner (System.in);
System.out.print("Enter Number: ");
int inp = in.nextInt();
int wan = 1;
int space = inp ;
for(int i = 0; i < inp; i++)
{
for(int s = 0; s < space ; s++)
{
System.out.print(" ");
}
for(int s = 0; s < wan ; s++)
{
if(s == 0 || s == wan-1)
{
System.out.print("*");
}
else
{
System.out.print(" ");
}
}
if(i == inp-1)
{
break;
}
else{
System.out.println();
wan=wan+2;
space--;
}
}
//second
int x = (inp * 2) - 1;
int y = 1;
for(int l = 0; l < inp; l++)
{
for(int s = y; s > 1; s--)
{
System.out.print(" ");
}
for(int s = 0; s < x ; s++)
{
if(l >= 1)
{
if(s == 0 || s == x - 1)
{
System.out.print("*");
}
else
{
System.out.print(" ");
}
}
}
System.out.println();
x-=2;
y++;
}
}
}
答案 0 :(得分:0)
对于较低的符号集,您需要在打印星形之前放置一个空格。将条件修改为s&gt; = 1,使流程进入循环并打印一个空格。之前它没有进入循环。这应该为您提供所需的输出。
for(int s = y; s >= 1; s--)
{
System.out.print(" ");
}