打印一个框,单个中心@替换为空格

时间:2014-01-31 03:15:06

标签: java

我不知道该为此做些什么。打印一个中心有一个洞的盒子。也就是说,按正常情况打印一个方框,但中间有一个@(或者一个宽度均匀的方框靠近中心),用空格替换。

我有这个盒子。如何计算盒子的中心?

import java.util.Scanner;

public class square {
    public square(){
        Scanner H=new Scanner(System.in);
        int y=H.nextInt();//int for width
        int x=H.nextInt();//int for height
        int [][]shape=new int[x][y];//2d array stores the above
        for(int i=0; i<shape.length; i++){//loops through height and width below
            for(int j=0; j<shape[i].length; j++){
                System.out.print("@");//prints box of @

                }

            System.out.println();
            }

        }


    public static void main(String[]args){
        new square();
    }
}

1 个答案:

答案 0 :(得分:0)

首先,不确定为什么要制作数组(形状),除非这是你的任务的一部分?

如果你使用一个从0到y的步长为0到y而不是使用数组长度的for循环,你将得到相同的结果而不需要数组。

至于中心,它的位置是x / 2,y / 2。如果您更改内部循环以检查变量i和j以查看当前位置是否为x / 2,y / 2并打印空格而不是@在这种情况下,我认为您将获得您正在寻找的结果对