首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >矩形打印机打印机

矩形打印机打印机
EN

Stack Overflow用户
提问于 2019-05-09 21:53:02
回答 1查看 163关注 0票数 0
  1. 提示用户输入将显示为星号(*)字符的行和列的矩形的高度和宽度。
  2. 使用您的循环知识,生成矩形输出。高度为行数,宽度为每行中的字符数。由于您的输出将一次生成一行,所以请确保在转到下一行之前完成每一行。
  3. 修改程序,使其只生成矩形的外部边框,而不是填充的矩形。

我不知道如何让星号排成行和列。

代码语言:javascript
复制
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {

        int width;
        int height;     

        Scanner input = new Scanner(System.in); 

        System.out.print("Enter the width:");
        width = input.nextInt();
        System.out.print("Enter the height:");
        height = input.nextInt();
        int y = 0;
        for (int x = 0; x <= width; x++){
            System.out.println("*");
            while (y <= height){
                y++;
                System.out.println("*");
            }
        }
    }
}

我试图得到一个输出,它的宽度=4英尺=4

代码语言:javascript
复制
****    ****
****    *  *
****    *  *
**** or ****
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-09 22:43:17

以下是一些帮助你解决这一问题的建议:

  1. println()总是在传入值之后打印换行符。您可能只希望在每一行的末尾,而不是在每个字符之后。
  2. 您不需要while循环--您可以使用两个for循环来完成所有这些工作。
  3. 把你需要达到的目标分解成更小的块,并分别解决每个块。

例如,实心正方形(编写为算法,而不是代码):

代码语言:javascript
复制
loop y once for each row {

    loop x once for each column in that row {

        print a '*' character

    }

    print a newline character (because we have finished the row)

}

例如,空心正方形(编写为算法,而不是代码):

代码语言:javascript
复制
loop y once for each row {

    loop x once for each column in that row {

        if the current position is in the first row, last row, first column or last column
            print a '*' character
        otherwise
            print a ' ' character
    }

    print a newline character (because we have finished the row)

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56068094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档