java - 如何将浮点条目的二维数组克隆到另一个类型和大小相似的二维数组?
问题描述
我有一个问题,将浮点条目的二维数组克隆到另一个类似类型和大小的二维数组。以下是我的编码,任何人都可以帮我检查我错了哪一部分?谢谢。
public class Clone2Darray {
public static int[][] clone(int[][] a) throws Exception {
float b[][] = new int[a.length][a[0].length];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[0].length; j++)
b[i][j] = a[i][j];
}
return b;
}
public static void main(String args[]) {
float a[][]= {{1.513,2.321,3.421},{4.213,5.432,6.123},{7.214,8.213,9.213}};
try {
float b[][] = Clone2Darray.clone(a);
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[0].length; j++) {
System.out.print(b[i][j] + " ");
}
System.out.println();
}
} catch (Exception e) {
System.out.println("Error!!!");
}
}
}
我的编码出现如下错误:
C:\Users\User-Win7\.netbeans\7.1\var\cache\executor-snippets\run.xml:48:
Cancelled by user.
BUILD FAILED (total time: 4 seconds)
我想要如下输出:
1.513 2.321 3.421
4.213 5.432 6.123
7.214 8.213 9.213
1.513 2.321 3.421
4.213 5.432 6.123
7.214 8.213 9.213
解决方案
1 - 将方法参数从 int 更改为 float。
2 - 将返回类型从 int 更改为 float。
3 - 在数组中分配浮点值时,在每个数字之后使用 f 来告诉编译器它是一个浮点数。
public static float[][] clone(float[][] a) throws Exception {
float b[][] = new float[a.length][a[0].length];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[0].length; j++) {
b[i][j] = a[i][j];
}
}
return b;
}
float[][] a = new float[][] { { 1.513f, 2.321f, 3.421f }, { 4.213f, 5.432f, 6.123f },
{ 7.214f, 8.213f, 9.213f } };
try {
float b[][] = clone(a);
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[0].length; j++) {
System.out.print(b[i][j] + " ");
}
System.out.println();
}
} catch (Exception e) {
System.out.println("Error!!!");
}
推荐阅读
- python - 无法构建在不规则张量上循环的 Tesnorflow 自定义层
- python-3.x - 如何退出函数
- java - 有没有办法获取传递给方法调用的值?
- python - 你如何通过 TCP/IP 逐行发送 .txt 并有一定的延迟?
- docker - Gitlab-runner 无法访问另一个 VM 中的远程 docker 守护进程
- agora.io - Agora.io websdk 示例给出错误 ERR_DYNAMIC_USE_STATIC_KE
- git - 如何在 Visual Studio Code 上更新已保存的 git 凭据
- variables - 使用three.js TextGeomtery打印数组的值
- javascript - 如何从 fetch() 调用中获取 HTTP 响应?
- html - 如何使用响应式 CSS 将内容粘贴到屏幕上?