Java 如果布尔数组为true,则用字符串(多维)填充它
我想知道是否可以用字符串填充多维布尔数组 让我们想象一下,我们正在制作战舰游戏,比如:Java 如果布尔数组为true,则用字符串(多维)填充它,java,arrays,boolean,Java,Arrays,Boolean,我想知道是否可以用字符串填充多维布尔数组 让我们想象一下,我们正在制作战舰游戏,比如: public static void main(String[] args) { boolean[][] board = new boolean[5][5]; board[3][2] = true; board[0][0] = true; for (boolean[] line : board ) { System.out.println(
public static void main(String[] args) {
boolean[][] board = new boolean[5][5];
board[3][2] = true;
board[0][0] = true;
for (boolean[] line : board
) {
System.out.println(Arrays.toString(line));
}
}
现在是否可以将所有值更改为“[]”(如果为false)和“[X]”(如果为true),但仍保留布尔值?最明显的解决方案是使用
对象而不是布尔值。然后可以重写它的toString
方法
class Square {
private boolean taken;
public boolean getTaken() {
return taken;
}
public void setTaken(boolean taken) {
this.taken = taken;
}
@Override
public String toString() {
return taken ? "X" : " ";
}
}
public void test() {
Square[][] board = new Square[5][5];
}
谁知道这会引向何方——甚至(喘息)一块板物体
class Board {
Square[][] board = new Square[5][5];
public Board() {
for (Square[] row : board) {
for (int j = 0; j < row.length; j++) {
row[j] = new Square();
}
}
}
}
课程板{
广场[]董事会=新广场[5][5];
公共委员会(){
用于(方形[]行:板){
对于(int j=0;j
最明显的解决方案是使用对象
而不是布尔值
。然后可以重写它的toString
方法
class Square {
private boolean taken;
public boolean getTaken() {
return taken;
}
public void setTaken(boolean taken) {
this.taken = taken;
}
@Override
public String toString() {
return taken ? "X" : " ";
}
}
public void test() {
Square[][] board = new Square[5][5];
}
谁知道这会引向何方——甚至(喘息)一块板物体
class Board {
Square[][] board = new Square[5][5];
public Board() {
for (Square[] row : board) {
for (int j = 0; j < row.length; j++) {
row[j] = new Square();
}
}
}
}
课程板{
广场[]董事会=新广场[5][5];
公共委员会(){
用于(方形[]行:板){
对于(int j=0;j
使用内部循环和if
语句…您不能将布尔值数组的值更改为字符串
,但可以打印字符串
而不是布尔值。“如果布尔值数组为真,则用字符串填充”-否。布尔数组只能容纳boolean
s。您始终可以执行replaceAll(“true”,“X]”)。replaceAll(“false”,“[]”)输出字符串上的
。@Dawidura为什么replaceAll
而不是简单的replace
?我认为这是误导,因为其他一些语言概念,如C
或any,但不要忘了这是java,布尔值只接受“true”或“false”,而不接受字符串、字符或int。。但是你可以得到任何收集课程的帮助。。我相信你会得到一个好的解决方案。感谢使用内部循环和if
语句…您不能将布尔
数组的值更改为字符串
,但可以打印字符串
而不是布尔
值。“如果布尔数组为真,则用字符串填充”-否。布尔数组只能容纳boolean
s。您始终可以执行replaceAll(“true”,“X]”)。replaceAll(“false”,“[]”)输出字符串上的
。@Dawidura为什么replaceAll
而不是简单的replace
?我认为这是误导,因为其他一些语言概念,如C
或any,但不要忘了这是java,布尔值只接受“true”或“false”,而不接受字符串、字符或int。。但是你可以得到任何收集课程的帮助。。我相信你会得到一个好的解决方案。谢谢