用 StringBuffer 无参构造方法创建 StringBuffer 对象,通过appendo方法追加%, 上打印 “%”矩形,其中的宽和高从键盘接收。(如宽 10,高5)

用 StringBuffer 无参构造方法创建 StringBuffer 对象,通过appendo方法追加%, 上打印 “%”矩形,其中的宽和高从键盘接收。(如宽 10,高5)

参考一下


    public static void main(String[] args) {
        System.out.println("输入高度");
        Scanner scanner = new Scanner(System.in);
        String heigh = scanner.nextLine();
        System.out.println("输入宽度");
        String width = scanner.nextLine();
        StringBuffer stringBuffer = new StringBuffer();
        for (int i = 0; i < Integer.valueOf(heigh); i++) {
            for (int j = 0; j < Integer.valueOf(width); j++) {
                stringBuffer.append("%");
            }
            System.out.println(stringBuffer.toString());
            stringBuffer = new StringBuffer();
        }

    }

结果

img

帮你写好了

img

package com.demo;

import java.util.Scanner;

/**
 * @auth winding
 */
public class TestPrint {

    /**
     * 输出的内容
     */
    private static String PRINT_OUT = "%\t";

    public static void main(String[] args) {

        System.out.println("输入宽度:");
        Scanner scanner = new Scanner(System.in);
        String length = scanner.nextLine();
        System.out.println("输入高度:");
        String height = scanner.nextLine();
        System.out.println();
        //调用输出方法:
        print(Integer.valueOf(length), Integer.valueOf(height));

    }

    /**
     * 输出
     *
     * @param length 长度
     * @param height 高度
     * @auth winding
     */
    private static void print(int length, int height) {
        StringBuffer stringBuffer = new StringBuffer();
        for (int i = 0; i < height; i++) {
            //长度输出
            for (int j = 0; j < length; j++) {
                stringBuffer.append(PRINT_OUT);
            }
            //输出行
            System.out.println(stringBuffer.toString());
            //StringBuffer清空 为下一行数据做准备
            stringBuffer.setLength(0);
        }


    }
}

经过辛苦调试,完整代码如下:

    public static void main(String[] args) {
        System.out.print("请输入矩形的宽和高,用空格分开:");
        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();
        String[] inputArr = input.split(" ");
        int width = Integer.parseInt(inputArr[0]);
        int high = Integer.parseInt(inputArr[1]);
        StringBuffer sb = new StringBuffer();
        for(int i=0; i<high; ++i) {
            if(i==0 || i==high-1) {
                for(int j=0; j<width; ++j) {
                    sb.append("%");
                }
            } else {
                sb.append("%");
                for(int j=0; j<width-2; ++j) {
                    sb.append(" ");
                }
                sb.append("%");
            }
            sb.append("\n");
        }
        System.out.println(sb);
    }

运行结果如下:

请输入矩形的宽和高,用空格分开:10 5
%%%%%%%%%%
%        %
%        %
%        %
%%%%%%%%%%

如有帮助,请采纳,十分感谢!