下面有一部分代码显示了一个单词板。
int a ;
String s = "\nLLUA\nUELB\nPIEA\nNMET";
String board = "";
for (int i = 0; i < s.length(); i++) {
a = (int) s.charAt(i);
if ((a >= 97 && a <= 122) || (a >= 65 && a <= 90)) {
board = board + s.charAt(i) + " | ";
} else if (board != "" && board.length() != 1) {
System.out.println(board);
board = "";
}else if(board != "" && board.length() == 1){
board = "";
}
}
if (board != "" && board.length() != 1){
System.out.println("|" + board);
}
我想在电路板的每一行和每一列上添加数字,如下所示:
任何人都可以帮助我!!!使用正则表达式,表,不允许使用ArrayList。
谢谢。
答案 0 :(得分:0)
1。您需要改进的事项:
Strings
的平等(与所有其他对象一样)必须使用equals()
StringBuilder
连接多个Strings
2。我会以不同的方式完成它(Working example)
public static void main(String[] args) {
String s = "\nLLUA\nUELB\nPIEA\nNMET";
String[] words = s.trim().split("\n"); //[LLUA, UELB, PIEA, NMET]
StringBuilder sb = new StringBuilder(" |");
for (int i = 1; i < words[0].length() + 1; i++) {
sb.append(i).append(" | ");
}
for (int i = 0; i < words.length; i++) {
sb.append("\n").append("| ").append(i + 1).append(" | ");
for (char c : words[i].toCharArray()) {
sb.append(c).append(" | ");
}
}
System.out.println(sb.toString());
/*
|1 | 2 | 3 | 4 |
| 1 | L | L | U | A |
| 2 | U | E | L | B |
| 3 | P | I | E | A |
| 4 | N | M | E | T |
*/
}