-1

我正在尝试创建一个由用户输入的字符制成的正方形,并由他们选择的尺寸制成。

public class Square
{
  public static void main(String[] args)
  {
    final byte MIN_SIZE =  2,
           MAX_SIZE = 20;

    byte size;
    char fill;

    Scanner input = new Scanner(System.in);

    do
    {
      System.out.printf("Enter the size of the square (%d-%d): ",
                        MIN_SIZE, MAX_SIZE);
      size = (byte)input.nextLong();
    } while (size > MAX_SIZE || size < MIN_SIZE);
    System.out.print("Enter the fill character: ");
    fill = input.next().charAt(0);

    //This is where the code which outputs the square would be//

  }
}

正方形应如下所示的示例:如果大小为 5,填充为“@”

@@@@@
@@@@@
@@@@@
@@@@@
@@@@@
4

1 回答 1

2

您不应该要求 nextLong 并将其保存在一个字节中。大小变量应该很长。

要打印正方形,您可以使用简单的 fors

long i,j;

for(i = 0; i < size; i++)
{
    for(j = 0; j < size; j++)
        System.out.print(fill);

    System.out.println();
}

你可以让它表现得更好,创建一个包含带有填充字符的整行的字符串,然后打印它的行数,但是对于 MAX_SIZE = 20 就可以了。

于 2013-09-24T02:48:11.523 回答