java - 在反转二维数组时遇到问题?

标签 java arrays reverse

我正在尝试反转从 .txt 文件导入的 double 组。然而,当我运行我的程序时,它只反转数组的前半部分,而数组的另一半打印出 0。有什么建议么?这是我的代码:

package arrayreverse;
import java.util.Scanner;
import java.io.*;

public class ArrayReverse {

    public static void main(String[] args) throws IOException {
        try{
            File abc = new File ("filelocation");
            Scanner reader = new Scanner(abc);
           int [][] a = new int[5][10];
           int [][] b = new int [5][10];
           for (int row = a.length - 1; row >= 0; row--){
               for (int col = a[row].length - 1; col >= 0; col--){
                   a[row][col] = reader.nextInt();
                   b[row][col] = a[row][col];
                   a[row][col] = b[4-row][9-col];
                   System.out.print(a[row][col]+" ");
               }
               System.out.println();
           }
        }
        catch (IOException i){
        }
    }
}

最佳答案

a[row][col] = reader.nextInt();
b[row][col] = a[row][col];
a[row][col] = b[4-row][9-col]; //problem is here 
                               //until u reach half way b's elements have no 
                               //values assigned yet (0 by default)

尝试以下操作:

a[row][col] = reader.nextInt();
b[a.length - 1 - row][a[row].length - 1 - col] = a[row][col];

ab 应该在循环完成后相互反转。

关于java - 在反转二维数组时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8455106/

相关文章:

java - 在java中实例化jar文件之外的类?

python - 计算向量中大于常数的连续值的总和?

java - Java中如何将数组转换为链表

java - 反转子数组 X[i,...,j] 的递归函数。从索引 i 到 j 的元素

java - 代号一启动画面新 GUI 构建器

java - log4j 使用 %p 显示日志消息

java - 检查链表中子列表的方法的时间复杂度

代码似乎是正确的,但程序在打印数组的第一行后挂起

c++ - 倒序排序。 "Don' t 重复你自己”规则

c - 反转链表