gpt4 book ai didi

java - 向数组添加边框

转载 作者:行者123 更新时间:2023-12-01 07:29:38 26 4
gpt4 key购买 nike

我有一个数组,打印时打印如下:

    W V E R T I C A L L 

R O O A F F L S A B

A C R I L I A T O A

N D O D K O N W D C

D R K E S O O D D K

O E E P Z E G L I W

M S I I H O A E R A

A L R K R R I R E R

K O D I D E D R C D

H E L W S L E U T H

如何让它像这样打印:

    # # # # # # # # # # # #

# W V E R T I C A L L #

# R O O A F F L S A B #

# A C R I L I A T O A #

# N D O D K O N W D C #

# D R K E S O O D D K #

# O E E P Z E G L I W #

# M S I I H O A E R A #

# A L R K R R I R E R #

# K O D I D E D R C D #

# H E L W S L E U T H #

# # # # # # # # # # # #

我尝试过增大尺寸以容纳额外的字符,但我总是遇到超出范围的异常。我基本上试图获取一个非字母字符来围绕我的数组设置边框,这样当我实现填字游戏解算器时,在周围字母中搜索字母时,它不会触及边界,而是命中非字母字符然后传递 false。

这是我构建数组的代码:

    for (int i=1; i<row; i++){
String getChar = (new String(sc.next()));
for(int j = 1;j<col; j++){
puzzle[i][j] = getChar.charAt(j);
}
}

感谢任何帮助!

编辑:这会打印我的数组:

     for (int i=0; i<puzzle.length; i++){

System.out.print(Arrays.toString(puzzle[i]));
System.out.println("");
}

EDIT2:这是我的检查方法:

    private static boolean checkNE(int row, int col, String word, char[][] puzzle) {
//Checking diagonals direction
for(int letter = 1; letter < word.length(); letter++) {
if(puzzle[row - letter][col + letter] != word.charAt(letter)) {
return false;
}
}
return true;
}

最佳答案

不用创建边框,只需检查您要检查的位置是否在数组之外,如果是,那么您就知道您将找不到整个单词,因为我们必须走到外面数组的。

例如,您的数组是 n x n,如果您尝试访问位置 n 那么它将超出范围,或者如果您尝试访问小于 0 的位置也会出界。因此,只要确保您访问的时间在此范围内即可。

关于java - 向数组添加边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19121535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com