如何调用promptInt方法初始化自定义尺寸的战舰程序二维数组
解决战舰程序二维数组初始化的问题
嘿,我来帮你捋清楚怎么用promptInt搞定战舰棋盘的二维数组初始化!其实思路特别直接,核心就是先通过promptInt获取用户输入的高度和宽度,再用这两个值创建对应尺寸的二维数组就行。
核心步骤拆解
- 首先调用
promptInt获取棋盘的高度:这个方法应该是用来弹出输入提示并接收用户输入的整数,你只需要传入提示文字(比如"请输入战舰棋盘的高度:"),它就会返回用户输入的整数值。 - 接着用同样的方式调用
promptInt获取棋盘的宽度。 - 最后用拿到的高度和宽度值,初始化对应尺寸的二维数组。
代码示例(Java版本)
假设你的promptInt方法是一个能接收提示字符串并返回整数的工具方法,示例代码如下:
// 1. 获取用户输入的棋盘尺寸 int boardHeight = promptInt("请输入战舰棋盘的高度:"); int boardWidth = promptInt("请输入战舰棋盘的宽度:"); // 2. 初始化自定义尺寸的二维数组(这里用char类型存储棋盘状态,比如'~'代表海洋) char[][] battleshipBoard = new char[boardHeight][boardWidth]; // 可选:给数组填充初始值(比如全部设为海洋) for (int i = 0; i < boardHeight; i++) { for (int j = 0; j < boardWidth; j++) { battleshipBoard[i][j] = '~'; } }
代码示例(JavaScript版本)
如果是用JS开发,逻辑是一样的,只是数组初始化的语法略有不同:
// 1. 获取用户输入的棋盘尺寸 const boardHeight = promptInt("请输入战舰棋盘的高度:"); const boardWidth = promptInt("请输入战舰棋盘的宽度:"); // 2. 初始化二维数组并填充初始值 const battleshipBoard = Array(boardHeight).fill().map(() => Array(boardWidth).fill('~'));
额外小提示
为了避免用户输入无效值(比如负数、0或者非数字)导致数组初始化报错,你可以加个简单的验证逻辑,循环调用promptInt直到输入有效:
// 验证高度输入 int boardHeight; do { boardHeight = promptInt("请输入战舰棋盘的高度(必须是正整数):"); } while (boardHeight <= 0); // 验证宽度输入 int boardWidth; do { boardWidth = promptInt("请输入战舰棋盘的宽度(必须是正整数):"); } while (boardWidth <= 0);
内容的提问来源于stack exchange,提问作者Emily S
相关产品推荐
相关产品推荐

