walls c srpingbootinaction
时间: 2024-01-15 09:01:31 浏览: 62
《Spring Boot实战》是一本介绍Spring Boot框架的书籍。Spring Boot是一种用于快速构建单个微服务的开发框架。它基于Spring框架,并提供了一种简化开发的方式。
这本书通过深入浅出的风格,向读者介绍了Spring Boot的核心概念,从而帮助读者快速上手使用这个框架。书中包含了大量的示例代码和实践案例,读者可以通过这些例子学习如何使用Spring Boot来构建自己的应用程序。
《Spring Boot实战》首先介绍了Spring Boot的基本概念和背景,然后详细解释了如何配置和启动一个Spring Boot应用。接下来,书中讨论了如何使用Spring Boot来构建Web应用、使用数据库和消息队列等。此外,书中还包含了一些高级主题,如安全性和部署等。
这本书的优点之一是它的实用性。作者提供了丰富的代码示例和实际应用案例,读者可以直接将书中的知识应用到自己的项目中。另外,书中还提供了许多实际问题的解决方案和最佳实践,这对读者来说是非常有价值的。
总之,《Spring Boot实战》是一本很好的Spring Boot入门指南,适合初学者和有一定经验的开发者阅读。读者可以通过阅读这本书,掌握Spring Boot框架的核心概念和使用方式,从而能够更加高效地开发自己的应用程序。
相关问题
walls.size()
`walls.size()` 表示围墙的数量,`size()` 方法是 List 接口中的方法,用于获取列表的大小,即元素的数量。在这里,`walls` 是一个 List 类型的变量,它存储了多个 Wall 类型的对象(即围墙),`walls.size()` 返回的就是围墙的数量。这里使用了 `for` 循环遍历所有的围墙,判断坦克是否与围墙相交。
create_walls(){ const g = []; for(let r = 0; r < this.rows; r ++ ){ g[r] = []; for(let c = 0; c < this.cows; c ++ ){ g[r][c] = false; } } //四周加墙 for(let r = 0; r < this.rows; r ++ ){ g[r][0] = g[r][this.cols - 1] = true; } for(let c = 0; c < this.cols; c ++ ){ g[0][c] = g[this.rows - 1][c] = true; } //随机化 for(let i = 0; i < this.inner_walls_count; i ++){ for (let j = 0; j < 1000; j ++){ let r = parseInt(Math.random() * this.rows); let c = parseInt(Math.random() * this.cols); if(g[r][c] || r == this.rows - 2 && c == 1 || c == this.cols - 2 && r == 1){ continue; } g[r][c] = g[this.rows - 1 - r][this.cols - 1 -c] = true; break; } } const copy_g = JSON.parse(JSON.stringify(g));//深拷贝 if(!this.check_connectivity(copy_g, this.rows - 2, 1, 1, this.cols - 2)){ return false; } for(let r = 0; r < this.rows; r ++ ){ for(let c = 0; c < this.cols; c ++ ){ if(g[r][c]){ this.walls.push(new Wall(r, c, this)); } } } return true; }翻译成Java
以下是将 JavaScript 代码转换为 Java 代码后的结果:
public boolean createWalls() {
boolean[][] g = new boolean[this.rows][this.cols];
for (int r = 0; r < this.rows; r++) {
for (int c = 0; c < this.cols; c++) {
g[r][c] = false;
}
}
// 四周加墙
for (int r = 0; r < this.rows; r++) {
g[r][0] = g[r][this.cols - 1] = true;
}
for (int c = 0; c < this.cols; c++) {
g[0][c] = g[this.rows - 1][c] = true;
}
// 随机化
for (int i = 0; i < this.inner_walls_count; i++) {
for (int j = 0; j < 1000; j++) {
int r = (int) (Math.random() * this.rows);
int c = (int) (Math.random() * this.cols);
if (g[r][c] || (r == this.rows - 2 && c == 1) || (c == this.cols - 2 && r == 1)) {
continue;
}
g[r][c] = g[this.rows - 1 - r][this.cols - 1 - c] = true;
break;
}
}
boolean[][] copy_g = new boolean[this.rows][this.cols];
for (int r = 0; r < this.rows; r++) {
for (int c = 0; c < this.cols; c++) {
copy_g[r][c] = g[r][c];
}
}
if (!this.checkConnectivity(copy_g, this.rows - 2, 1, 1, this.cols - 2)) {
return false;
}
for (int r = 0; r < this.rows; r++) {
for (int c = 0; c < this.cols; c++) {
if (g[r][c]) {
this.walls.add(new Wall(r, c, this));
}
}
}
return true;
}
阅读全文