在Java中相当于Fortran 2D字符*8数组

在Java中相当于Fortran 2D字符*8数组,java,arrays,string,fortran,Java,Arrays,String,Fortran,我目前正在将一个程序从FORTRAN“翻译”为JAVA,我有几行代码声明了如下变量: CHARACTER *8 INDICATIF_BUT(NPTBUTS,NBPDV) char[][][] INDICATIF_BUT = new char[8][NPTBUTS][NBPDV]; 我想知道如何用java代码翻译它 我考虑制作一个3D阵列,如下所示: CHARACTER *8 INDICATIF_BUT(NPTBUTS,NBPDV) char[][][] INDICATIF_BUT = ne

我目前正在将一个程序从FORTRAN“翻译”为JAVA,我有几行代码声明了如下变量:

CHARACTER *8 INDICATIF_BUT(NPTBUTS,NBPDV)
char[][][] INDICATIF_BUT = new char[8][NPTBUTS][NBPDV];
我想知道如何用java代码翻译它

我考虑制作一个3D阵列,如下所示:

CHARACTER *8 INDICATIF_BUT(NPTBUTS,NBPDV)
char[][][] INDICATIF_BUT = new char[8][NPTBUTS][NBPDV];
但我不确定这样做是否正确


注意:我想坚持使用char,而不是使用String,以尽可能地接近原始代码。

我觉得这没问题。唯一的问题是,我认为你必须颠倒维度的顺序,才能在内存中得到相似的顺序。字符[][]指示,但=新字符[NBPDV][NPTBUTS][8]@innoSPG好的,谢谢,我会试试;)根据Fortran字符串最初的使用方式,迁移到Java字符串而不是字符数组可能是更好的解决方案。我理解保持接近原始实现的愿望,但Fortran文本处理一直非常糟糕,移植起来可能更痛苦。如果您理解原始代码的意图,使用现代构造(正则表达式、可变长度字符串等)重新实现当前设施可能会容易得多@arclight是的,我知道,但在代码的后面,我必须精确地操作字符,以便将二进制数据写入文件,所以我想我会继续使用角色的方式。但是.toCharArray字符串函数非常方便^^@innoSPG它工作得很好,谢谢:)