笔试题 设计个灯 通过按开灯键调节亮度 我这么写没问题吧?第一次求职 感觉有点简单 怕有坑?

2021-05-31 17:40:40 +08:00
 gzk329
/**
 * @Description: 台灯设计 按一次开 按两次提高亮度 按第三次关闭
 * @Author: GZK0329
 * @Date: 2021/5/31
 **/

public class Lamp {
    //台灯目前状态 初始为关闭状态
    private Boolean isOpen = false;

    //按开关键次数统计 按一次开 按两次提高亮度 按第三次关闭
    private int clickCount = 0;

    //亮度统计 0 关闭 1 亮度一级 2 亮度二级
    private int brightness = 0;

    public Lamp() {
    }

    public void click() {
        clickCount++;
        clickCount %= 3;
        switch (clickCount) {
            case 0:
                close();break;
            case 1:
                open();break;
            case 2:
                lightBoost();break;
            default:
                return;
        }
    }

    private void lightBoost() {
        //亮度增加 0 关闭 1 亮度一级 2 亮度二级
        brightness++;
        brightness %= 3;
        System.out.println("亮度提升!,当前亮度为:" + brightness + "当前台灯是否开启"+ isOpen);
    }

    public void open() {
        if (isOpen == false) {
            isOpen = true;
            lightBoost();
            System.out.println("台灯当前处于关闭状态,现已开启台灯。");
        }else{
            return;
        }
    }

    public void close() {
        if (isOpen == true) {
            isOpen = false;
            System.out.println("台灯当前处于开启状态,现已关闭台灯。");
            brightness = 0;
            clickCount = 0;
        }else{
            return;
        }
    }

    public Boolean getIsOpen() {
        return isOpen;
    }

    public void setIsOpen(Boolean isOpen) {
        this.isOpen = isOpen;
    }

    public int getClickCount() {
        return clickCount;
    }

    public void setClickCount(int clickCount) {
        this.clickCount = clickCount;
    }

    public int getBrightness() {
        return brightness;
    }

    public void setBrightness(int brightness) {
        this.brightness = brightness;
    }
}
788 次点击
所在节点    问与答
4 条回复
gzk329
2021-05-31 17:41:39 +08:00
代码我测试过了 主要是有没有设计纰漏?
falsemask
2021-05-31 17:53:02 +08:00
为什么 open close 方法的 else 没有空格缩进。boolean 类型变量取名不建议加 is 前缀。可以把你的代码放进 idea,会有好几处修改建议
TomVista
2021-05-31 17:53:04 +08:00
brightness%3 ; clickCount %= 3;

考虑是个灯,换成 if(a=0){a=1} if(a=1){a=2} if(a=2){a=0} 会更好
hxsf
2021-05-31 19:07:19 +08:00
按两次提高亮度 是 %2 还是 双击?
%2 感觉有点违背常识啊。。。想调亮度得开关开关绕一圈啊。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/780408

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX