-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 を要求してバイトに保存するべきではありません。サイズ var は long でなければなりません。

正方形を印刷するには、単純な 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 に答える