我是java初学者。我在matlab中有一些代码,我使用结构。 inf.time.leap = [];inf.time.last = 86400;
但是java没有结构数据类型。我应该能得到所有的值(leap、last等)中的数据类型。所以,我用java为所有结构数组和变量创建了类。
例如;
public class Inf {
Time1 t;
Seq1 s;
Nob1 n;
Rinex1 r;
Sat1 sa;
Rec1 re;
Ant1 an;
Lst1 ls;
public Inf() {}
}
public class Time1 {
double leap;
double int1;
double[] last;
double[] first;
String system;
double doy;
}
但我有很多这样的课程。你能建议一个更简单的方法吗?
实际上,我想把matlab代码转换成java。我创造了价值在matlab中的结构。例如,“inf”内部有“time”结构。有“leap”、“int”、“last”、“first”值在“时间”里。
inf.time.leap = [];inf.time.last = 86400;
另一个例子是inf中的“sequence”如“gps”、“glonass”中的顺序。
inf.seq.gps = cell(1);
因为java中没有结构类型,所以我为所有这些值创建了类。有8节课总之,在inf(time1,seq1,nob1,rinex1,sat1,rec1,ant1,lst1)中,我为所有这些值创建了一个类。我已经赋值了函数中的变量,如leap、int、last。代码样本;
public class dnm2 {
public Inf infOku() throws IOException {
Inf isimInf = new Inf();
Time1 isimTime = new Time1();
Seq1 isimSeq = new Seq1();
Nob1 isimNob = new Nob1();
Rinex1 isimRinex = new Rinex1();
Sat1 isimSat = new Sat1();
Rec1 isimRec = new Rec1();
Ant1 isimAnt = new Ant1();
Lst1 isimLst = new Lst1();
isimInf.t = isimTime;
isimInf.s = isimSeq;
isimInf.n = isimNob;
isimInf.r = isimRinex;
isimInf.sa = isimSat;
isimInf.re = isimRec;
isimInf.an = isimAnt;
isimInf.ls = isimLst;
isimTime.leap = 0;
isimTime.int1 = 0;
我需要调用赋值的方法对于leap、int1等,使用它们自己的数据类型(double、int、double[]等)访问这些变量。我是这样做的;
public static void main(String[] args) {
dnm2 dnmYazo = new dnm2();
Inf isimInf = new Inf();
isimInf = dnmYazo.infOku();
}
目前,我创建的代码没有任何问题。但是我想知道我是否可以在不创建8个或更多这样的类(为time1、seq1、nob1等创建类)的情况下以更短的方式处理它。
暂无答案!
目前还没有任何答案,快来回答吧!