Java新手求教:如何用'|'和'_'字符绘制方格网格?
解决方法
你的代码目前只绘制了单行方格的结构,要实现多行网格,只需要把竖线+底部横线的部分用循环重复执行number次即可(因为你要生成number行的方格)。
修改后的代码如下:
package practice; public class Practice { // 类名首字母大写符合Java命名规范 public static void main (String[] args) { squares(4); } public static void squares(int number) { // 绘制第一行的顶部横线 for (int i = 0; i < number; i++) { System.out.print(" _"); } System.out.println(); // 重复绘制number行的竖线+底部横线结构 for (int row = 0; row < number; row++) { for (int col = 0; col < number; col++) { System.out.print("|_"); } System.out.print("|"); System.out.println(); } } }
改动说明
- 新增外层循环
for (int row = 0; row < number; row++),用来控制方格的行数,循环次数等于传入的number值,以此生成对应行数的网格。 - 原有的竖线绘制代码被放入这个外层循环中,每循环一次就输出一行完整的竖线+底部横线结构。
- 修正了类名的大小写,这是Java的基础命名规范,能提升代码可读性。
如果需要生成非正方形的网格(比如3行5列),可以修改方法参数,传入行数和列数两个参数,示例如下:
public static void squares(int rows, int cols) { // 绘制顶部横线 for (int i = 0; i < cols; i++) { System.out.print(" _"); } System.out.println(); // 绘制每一行的竖线结构 for (int row = 0; row < rows; row++) { for (int col = 0; col < cols; col++) { System.out.print("|_"); } System.out.print("|"); System.out.println(); } } // 调用时传入行数和列数 public static void main(String[] args) { squares(3, 5); }
这种写法能灵活生成不同大小的网格,完全基于你已经掌握的循环和方法知识实现。
内容的提问来源于stack exchange,提问作者Daniel Mases
相关产品推荐
相关产品推荐

