Java 用中间空格绘制矩形的周长

Java 用中间空格绘制矩形的周长,java,netbeans,Java,Netbeans,我必须使用用户输入的规格画出一个矩形的周长,应该是这样的 ********** * * * * * * ********** by mines的所有中心都已满-如何使中心成为空白 这是到目前为止我的代码 源代码 lab5包装; 导入java.util.Scanner public class Lab5 { public static void main(String[] args) { Scanner inputReader = new Sc

我必须使用用户输入的规格画出一个矩形的周长,应该是这样的

**********
*        *
*        *
*        *
**********
by mines的所有中心都已满-如何使中心成为空白

这是到目前为止我的代码

源代码 lab5包装; 导入java.util.Scanner

 public class Lab5 {
public static void main(String[] args) {
    Scanner inputReader = new Scanner(System.in);

    int i, j, width, height;
    String x;

    System.out.print("Enter a character: ");
    x = inputReader.nextLine();
    System.out.print("Enter a height: ");
    height = inputReader.nextInt();
    System.out.print("Enter a width: ");
    width = inputReader.nextInt();

    for(i = 1; i <=height; i++) {
        for(j = 1; j <= width; j++) {
            System.out.print(x);
        }
        System.out.println();
    }
}
}
公共类Lab5{
公共静态void main(字符串[]args){
扫描仪输入读取器=新扫描仪(System.in);
int i,j,宽度,高度;
字符串x;
System.out.print(“输入字符:”);
x=inputReader.nextLine();
System.out.print(“输入高度:”);
高度=inputReader.nextInt();
System.out.print(“输入宽度:”);
宽度=inputReader.nextInt();

对于(i=1;iuh…)打印空白

System.out.print(x);
for(j = 2; j <= width-1; j++) {
    System.out.print(" ");
}
System.out.print(x);
System.out.print(x);

对于(j=2;j当i和j不在边界时,可以使用System.out.print(“”)打印空格

import java.util.Scanner;

public class PrintBox {
    public static void main(String[] args) {
        Scanner inputReader = new Scanner(System.in);

        int i, j, width, height;
        String x;

        System.out.print("Enter a character: ");
        x = inputReader.nextLine();
        System.out.print("Enter a height: ");
        height = inputReader.nextInt();
        System.out.print("Enter a width: ");
        width = inputReader.nextInt();

        for(i = 1; i <= height; i++) {
            for(j = 1; j <= width; j++) {
                if (i == 1 || i == height || j == 1 || j == width)
                    System.out.print(x);
                else
                    System.out.print(" ");
            }
            System.out.println();
        }
    }
}
import java.util.Scanner;
公共类印刷箱{
公共静态void main(字符串[]args){
扫描仪输入读取器=新扫描仪(System.in);
int i,j,宽度,高度;
字符串x;
System.out.print(“输入字符:”);
x=inputReader.nextLine();
System.out.print(“输入高度:”);
高度=inputReader.nextInt();
System.out.print(“输入宽度:”);
宽度=inputReader.nextInt();

for(i=1;i
for(int i=0;i将if/else语句压缩到for循环中。如果上边框、下边框、左栏或右栏,则打印字符

for(i = 1; i <=height; i++) {
    for(j = 1; j <= width; j++) {
        if(i == 1 || i == height || j == 1 || j == width)
            System.out.print(x);
        else
            System.out.print(" ");
    }
    System.out.println();
}

for(i=1;i另一个解决方案将无法工作,因为我们无法这样做

height = inputReader.nextInt();
width = inputReader.nextInt();
它将不接受正确的宽度输入

正确的实现是:(请注意,代码经过了尝试并得到了遵守)

publicstaticvoidmain(字符串[]args){
扫描仪输入读取器=新扫描仪(System.in);
int i,j,宽度,高度;
字符串x;
System.out.print(“输入字符:”);
x=inputReader.nextLine();
System.out.print(“输入高度:”);
height=Integer.parseInt(inputReader.nextLine());
System.out.print(“输入宽度:”);
width=Integer.parseInt(inputReader.nextLine());

对于(i=0;我可以用文字描述你需要如何打印每一行吗?我需要它看起来像3宽3高,但只是打印出周长而不是中心。也许我应该重申我的建议:用文字描述你必须在矩形的一行中打印出的字符。通常使用英语或你的母语来描述问题将帮助您了解如何解决问题。正如您所看到的,我的代码中有这个问题,我的问题是如何使它只打印形状(周长)的轮廓,而不是完整的中心?@user3681591您的代码中有什么?
System.out.print(“”)
?我没有看到它。好吧,我很抱歉,我的问题是如何控制打印出多少空格以及将其放置在哪里?@user3681591您这样做的方式与控制打印出多少
x
s的方式相同。这对我来说是一个内隐循环:/
height = inputReader.nextInt();
width = inputReader.nextInt();
public static void main(String[] args) {
    Scanner inputReader = new Scanner(System.in);
    int i, j, width, height;
    String x;
    System.out.print("Enter a character: ");
    x = inputReader.nextLine();
    System.out.print("Enter a height: ");
    height = Integer.parseInt(inputReader.nextLine());
    System.out.print("Enter a width: ");
    width = Integer.parseInt(inputReader.nextLine());

    for(i = 0; i <= height; i++) {
        System.out.print(x);
        for(j = 1; j <= width-1; j++) {
            if(i==0 || i==height) {
                System.out.print(x);
                continue;
            }
            System.out.print(" ");
        }
        System.out.print(x);
        System.out.println();
    }
}