我正在尝试用Java编写一个程序来捕获用户的整数(假设数据有效),然后根据整数的大小输出菱形,即用户输入5,输出为:
--*--
-*-*-
*---*
-*-*-
--*--
到目前为止,我有:
if ( sqr < 0 ) {
// Negative
System.out.print("#Sides of square must be positive");
}
if ( sqr % 2 == 0 ) {
// Even
System.out.print("#Size (" + sqr + ") invalid must be odd");
} else {
// Odd
h = ( sqr - 1 ) / 2; // Calculates the halfway point of the square
// System.out.println();
for ( j=0;j
for (i=0;i
if ( i != h) {
System.out.print(x);
} else {
System.out.print(y);
}
}
System.out.println();
}
}
只是输出
--*--
--*--
--*--
--*--
--*--
任何想法,我都在考虑降低h的值,但这只会产生菱形的左侧.
解决方法:
void Draw(int sqr)
{
int half = sqr/2;
for (int row=0; row
{
for (int column=0; column
{
if ((column == Math.abs(row - half))
|| (column == (row + half))
|| (column == (sqr - row + half - 1)))
{
System.out.print("*");
}
else
{
System.out.print("_");
}
}
System.out.println();
}
}
好的,现在这是代码,但是正如我看到的S.L.巴特的评论我刚刚意识到这是一项家庭作业.因此,我强烈建议您在将其用作最终版本之前,先了解一下此代码中写的内容.随意问任何问题!
标签:ascii-art,java
来源: https://codeday.me/bug/20191102/1988610.html