Fortran代码多维数组

Fortran code multidimensional array

我正在将一个旧的 Fortran 代码转换为 java,但我坚持使用以下行:

PARAMETER (MAXC=15)
REAL CKV(MAXC,MAXC)

DATA (CKV( 1,J),J= 2,15)/10*0.,.45,.02,.12,.08/
DATA (CKV( 2,J),J= 3,15)/ 9*0.,.45,.06,.15,.07/

谁能解释一下上面最后两行。

谢谢

PARAMETER (MAXC=15)

这声明了MAXC一个参数(常量)并赋值15。

REAL CKV(MAXC,MAXC)

这是维度 (MAXC,MAXC)

的浮点(单精度)数组 CKV 的声明
DATA (CKV( 1,J),J= 2,15)/10*0.,.45,.02,.12,.08/
DATA (CKV( 2,J),J= 3,15)/ 9*0.,.45,.06,.15,.07/

此语句将初始值分配给 CKV(至少对某些元素)。 10*0. 表示 "take 10 times the 0."。

澄清我的回答(按照评论中的要求):

(CKV( 1,J),J= 2,15)表示"initialize the array subsection CKV( 1,2:15)",即14个元素。这匹配右侧的 14 个元素 (10x0., .45,.02,.12,.08).

第二个隐式循环从3开始,所以只分配了13个元素。因此,它只是 9*0.