我需要绘制一个方形,其轮廓全部为*
' s,内部填充字符.
(点)。
还有输入将决定正方形的大小。
这就是我到目前为止所拥有的。
我想我需要一个" if"声明,但不知道如何实现这一点。
到目前为止,这段代码将通过BIO用户输入绘制*
的平方。
提前致谢:)。
public class Main
{
public static void main( String args[] )
{
int stars = BIO.getInt();
int a = 1;
while (a <= stars)
{
int starsNumber = 1;
while (starsNumber <= stars)
{
starsNumber = starsNumber + 1;
System.out.print('*');
}
System.out.println();
a = a +1;
}
}
}
答案 0 :(得分:1)
我会将这个问题分解为几个步骤。尝试自己搞清楚代码。
您必须打印以下内容:
stars
的* *****
stars
很多中间位。这将是一个*开始,然后是一系列。长度为stars - 2
,最后为a * *...*
for(int i = 0 ; i < stars ; i++) {
System.out.print("*"); // top
}
System.out.println(); // new line
for (int j = 0 ; j < stars - 2 ; j++) {
System.out.print("*"); // starting * of the middle
for (int i = 0; i < stars - 2; i++) {
System.out.print("."); // the dots for the middle
}
System.out.print("*"); // the star at the end of the middle lines
System.out.println(); // new line for the next middle line
}
for(int i = 0 ; i < stars ; i++) {
System.out.print("*"); // bottom
}
答案 1 :(得分:0)
我使用二维数组来存储*和的char值。带有嵌套循环的正方形,用于生成数组并将其打印出来。生成它时,使用if-else语句确定是否生成正方形的边框,选择是否放置*或。进入数组的这个索引。
m = matrix(c(1,2,3,4), nrow =2)
答案 2 :(得分:0)
使用基本循环结构:
for (int row = 0; row < stars; row++) {
for (int col = 0; col < stars; col++) {
char c;
if (CONDITION)
c = '*';
else
c = '.';
System.out.print(c);
}
System.out.println();
}
你应该自己弄明白CONDITION
。考虑在您要打印x
而不是y
的情况下需要*
和.
。