Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将值限制设置为零?_Java_Oop_User Interface - Fatal编程技术网

Java 如何将值限制设置为零?

Java 如何将值限制设置为零?,java,oop,user-interface,Java,Oop,User Interface,这是我第一次在程序中这样做,我想知道是否有办法将限制设置为零。最大值为100,当用户用完时,最小值应为0且不应小于0。这是我想出的代码。感谢您的任何意见、帮助和想法 private class SliderListener implements ChangeListener { @Override public void stateChanged(ChangeEvent sl) { int iSlider, dSlider, sSlide

这是我第一次在程序中这样做,我想知道是否有办法将限制设置为零。最大值为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 )));
        }
    }

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

if(iSlider + dSlider + sSlider + wSlider > 100) {
    //do something that changes it
}
或者更好的方法是改变它们的值,也可以像我给你展示的那样进行检查,以防止它们再次出现

简单地说:

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

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

您指的是Double.toString(100-(iSlider+dSlider+sSlider+wSlider))的最小值吗?
Math.max(0,otherNum)
是的。当我将前三个滑动到每一个25时,在第四个上,它永远不会超过25@谢谢你!这帮了大忙。