java - 旋转魔方的面
问题描述
我有一个 Face 类,它为 rubiks 立方体的每一侧接收 3x3 整数数组。我正在尝试创建一个 rotateRight() 方法
010203 070401
040506 becomes 080502
070809 090603
但是,我不确定如何让我的方法 rotateRight() 返回一个类型 Face (这是我在运行代码时面临的当前错误)。我可以得到一些帮助吗?以下是我目前拥有的代码:
public class Face{
private int[][] grid;
public Face(int[][] grid){
grid = new int[3][3];
}
public Face rotateRight(){
int rows = 3;
int cols = 3;
int[][] transposedArray = new int[3][3];
for (int i = 0; i<rows; i++){
for (int j = 0; j<cols; j++){
transposedArray[j][i]=grid[i][j];
}
}
}
}
解决方案
如果我的问题正确,那么您将失败,因为您没有在方法结束时返回 Face 类型。如果这是正确的,您只需在以下位置创建一个新Face
实例rotateRight()
:
public Face rotateRight(){
int rows = 3;
int cols = 3;
int[][] transposedArray = new int[3][3];
for (int i = 0; i<rows; i++){
for (int j = 0; j<cols; j++){
transposedArray[j][i]=grid[i][j];
}
}
return new Face(transposedArray)
}
推荐阅读
- php - PHP 和 Sodium - 无法在表单中公开传递随机数
- c# - Visual Studio 不显示 Rfc2898DeriveBytes 的所有构造函数
- php - PHP 脚本执行在 60 秒后停止
- parallel-processing - 为什么在添加存储在数组中的数字时在 Openmp 中出现分段错误?
- html - 为 VBA 查找 HTML 按钮元素引用(类、标记等)以自动单击?
- c# - UWP 免费对接库
- excel - 根据另一列中的条件计算唯一值
- excel - 如何在每个下一个单元格中按 3-3 组拆分多个数字的单元格?
- php - Laravel - 查询构建器中同一个表的两个或多个别名
- ios - iOS 12:UITextField 未解除分配