我刚刚开始学习Java。我的大部分知识都是Python和html/css。我想从我的工作中拿出一个例子来练习,创建一个自动计数系统。基本上,太阳能电池板被连接到“逆变器”上,每种逆变器类型只能容纳一定数量的太阳能电池板(模块)。3800h的逆变器可以容纳18个人-如果超过这个数字,我们需要使用7600h的逆变器,它可以容纳37个人。我为此创建了一个非常冗余的文本版本,主要目标是如果我有超过10000h的逆变器可以容纳的话,在两个逆变器之间平均分配模块。基本上在两个7600h逆变器之间分配模块的数量。
有没有人有更好的、更少冗余的方程式的建议/想法?而不是所有的if/else if行?也许更好的变量存储?我显然是一个初学者,所以答案很可能是最简单的事情,我只是不知道从哪里开始。感谢您的任何意见。
class autoInverter {
public static void main(String[] args) {
int moduleCount = 53;
int moduleRemainder;
int secondInverter;
int se3800hMax = 18;
int se7600hMax = 37;
int se10000hMax = 49;
String se3800h = "SE300H Inverter";
String se7600h = "SE7600H Inverter";
String se10000h = "SE10000H Inverter";
System.out.println("Total modules: " + moduleCount);
if (moduleCount <= se3800hMax) {
System.out.println(se3800h + ": " + moduleCount + " modules");
} else if (moduleCount <= se7600hMax) {
System.out.println(se7600h + ": " + moduleCount + " modules");
} else if (moduleCount <= se10000hMax) {
System.out.println(se10000h + ": " + moduleCount + " modules");
} else if (moduleCount > se7600hMax * 2) {
moduleRemainder = moduleCount % 2;
secondInverter = moduleCount / 2 + moduleRemainder;
System.out.println(se10000h + ": " + moduleCount / 2 + " modules");
System.out.println(se10000h + ": " + secondInverter + " modules");
} else if (moduleCount > se10000hMax) {
moduleRemainder = moduleCount % 2;
secondInverter = moduleCount / 2 + moduleRemainder;
System.out.println(se7600h + ": " + moduleCount / 2 + " modules");
System.out.println(se7600h + ": " + secondInverter + " modules");
}
}
}
这将打印出来:
模块总数: 53
SE7600H变频器: 26个模块
SE7600H变频器: 27个模块
https://stackoverflow.com/questions/55246126
复制相似问题