private List<String> parentPaths=new List<String>() {"PM","PM1","PM2","PM3","PM4","PM5","PM6","PM7","PM8","PM9"} java这样定义哪里错
时间: 2023-09-06 08:11:14 浏览: 67
这样定义在 Java 语言中是没有问题的,语法上也是正确的。但是,建议将类型声明放在变量名之前,以增加代码的可读性。同时,应该遵循 Java 命名规范,即变量名应该以小写字母开头,采用驼峰式命名法,并且应该尽量使用具有描述性的变量名。因此,建议将代码修改为以下形式:
```
private List<String> parentPaths = new ArrayList<>(Arrays.asList("PM", "PM1", "PM2", "PM3", "PM4", "PM5", "PM6", "PM7", "PM8", "PM9"));
```
这里使用了 `ArrayList` 类来实例化 `parentPaths`,并且使用了 `Arrays.asList` 方法来将一组字符串转换为列表。
相关问题
public List<String> getPmFileParentPaths(String rootDir, String[] neTypes) { List<String> pmFileParentPaths = new ArrayList<>(); for (String neType : neTypes) { pmFileParentPaths.addAll(getLocalPmFileRootDirForMe(rootDir, neType)); } return pmFileParentPaths; } public static List<String> getLocalPmFileRootDirForMe(String localRootDir, String neType) { return FileCleanService.PHHOME.stream().map(pm -> getLocalPmFileRootDirForMe(localRootDir, pm, neType)).collect(toList()); } public static String getLocalPmFileRootDirForMe(String localRootDir, String pmHome, String neType) { return String.join(File.separator, localRootDir, pmHome, neType); } 写UT
针对这段代码,可以写出如下的UT:
```
@Test
public void testGetPmFileParentPaths() {
String rootDir = "/home/user/pmdata";
String[] neTypes = {"type1", "type2"};
List<String> expectedResult = new ArrayList<>();
expectedResult.add("/home/user/pmdata/pm1/type1");
expectedResult.add("/home/user/pmdata/pm2/type1");
expectedResult.add("/home/user/pmdata/pm1/type2");
expectedResult.add("/home/user/pmdata/pm2/type2");
List<String> result = getPmFileParentPaths(rootDir, neTypes);
assertEquals(expectedResult, result);
}
@Test
public void testGetLocalPmFileRootDirForMe() {
String localRootDir = "/home/user/pmdata";
String pmHome = "pm1";
String neType = "type1";
String expectedResult = "/home/user/pmdata/pm1/type1";
String result = getLocalPmFileRootDirForMe(localRootDir, pmHome, neType);
assertEquals(expectedResult, result);
}
```
这些UT覆盖了代码中的两个方法,分别测试了它们的输入和输出。可以通过运行这些UT来验证代码是否正确。
Q=3000;V1=15;V2=8; Df1=20;Df2=12;P=300;D=250;C0=800;C1=200;C5=1.2;C2=50;C3=2000;C4=5000; beta1=2.0;alpha1=1.2; beta2=1.5;alpha2=0.5; %情形1 syms xs1 xs2 ECM1=C0+C5*(P-D)/(2*P*D)*Q^2+C1; ETM1=Q/D; tc=Q/P; y1=gampdf(0:0.1:V1,alpha1,beta1); y2=gampdf(0:0.1:V2,alpha2,beta2); se1=int(y1,0,V1); se2=int(y2,0,V2); PM1=se1*se2; %情形2 gu=(P-D)*tc/D; X1=gu:0.1:gu+50; X2=gu:0.1:gu+50; Rp=exppdf(X1,1); Rr=exppdf(X2,1.2); fb1=(X1-gu).*Rp; fb2=(X2-gu).*Rr; gai1=trapz(X1,fb1); gai2=trapz(X2,fb2); ECM2=C0+C5*(P-D)/(2*P*D)*Q^2+C1+C3+C2*D*gai1; ETM2=Q/D+gai1; t=4:0.5:tc; syms x gx1=gampdf(V1:0.1:Df1,alpha1,beta1); fx1=int(gx1,x,V1,Df1);%Q = trapz(X,Y)根据X指定的坐标或标量间距对Y进行积分。 gx2=gampdf(0:0.1:V2,alpha2,beta2); fx2=int(gx2,x,0,V2); gx3=gampdf(V2:0.1:Df2,alpha2,beta2); fx3=int(gx3,x,V2,Df2); gx4=gampdf(0:0.1:V1,alpha1,beta1); fx4=int(gx4,x,0,V1); gx5=gampdf(V1:0.1:Df1,alpha1,beta1); fx5=int(gx5,x,V1,Df1); gx6=gampdf(V2:0.1:Df2,alpha2,beta2); fx6=int(gx6,x,V2,Df2); PM2=fx1*fx2+fx3*fx4+fx5*fx6; %情形3 ECM3=C0+C5*(P-D)/(2*P*D)*Q^2+C1+C4+C2*D*gai2; ETM3=Q/D+gai2; PM3=1-PM1-PM2; %平均总成本 EC=ECM1*PM1+ECM2*PM2+ECM3*PM3; ET=ETM1*PM1+ETM2*PM2+ETM3*PM3; CR=EC/ET
这是一段 MATLAB 代码,主要是针对一个生产过程进行成本分析和效率评估。代码中定义了一些变量和参数,例如产量 Q、单位产品售价 P、单位产品成本 C0、生产效率等。通过一系列的计算,得到了不同情形下的平均总成本 EC、平均效率 ET 和成本收益率 CR。
在这段代码中,我并没有看到明显的语法错误或逻辑问题。不过需要注意的是,如果这段代码中存在未定义的变量或函数,可能会导致运行出错。同时,如果输入的参数值或计算公式存在误差,也可能会影响到最终的计算结果。因此,在使用这段代码时,需要仔细检查输入参数和计算公式,以确保计算结果的准确性。
阅读全文