如何将值限制设置为零?

时间:2016-12-14 17:21:30

标签: java oop user-interface

这是我第一次在程序中执行此操作,我想知道是否有办法将限制设置为零。最大值为100,当用户全部使用时,最小值应为0且不应小于0.这是我想出的代码。感谢您的任何意见,帮助和想法。

 private class SliderListener implements ChangeListener {
        @Override
        public void stateChanged(ChangeEvent sl) {
            int iSlider, dSlider, sSlider, wSlider;

            iSlider = intSlider.getValue();
            dSlider = dexSlider.getValue();
            sSlider = strSlider.getValue();
            wSlider = wisSlider.getValue();

            //Store the points in the display field
            points.setText(Double.toString(100 - ( iSlider + dSlider
                + sSlider + wSlider )));
        }
    }

2 个答案:

答案 0 :(得分:1)

简单地说:

int sliderSum = iSlider + dSlider + sSlider + wSlider;
int master = Math.max (0, 100-sliderSum);
points.setText ( Double.toString (master) );

旁注:如果您的滑块总和超过100,那么您需要考虑在这种情况下应该发生什么。滑块是否应该分配100的一部分?他们是否应该被禁止设置得如此之高以至于总和超过100?或者这可能并不重要,在这种情况下你很好吗?

答案 1 :(得分:0)

我这样做的方法是,基本上创建一个if语句,以防止它像这样超过100,

if(iSlider + dSlider + sSlider + wSlider > 100) {
    //do something that changes it
}

或者更好的是制作一个方法来改变它们的值,这些方法也会像我给你看的那样检查,以防止它们过去。