首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何创建一个更有效的版本?

如何创建一个更有效的版本?
EN

Stack Overflow用户
提问于 2019-03-20 00:47:25
回答 2查看 83关注 0票数 0

我刚刚开始学习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个模块

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55246126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档