Java 如何将值限制设置为零?
这是我第一次在程序中这样做,我想知道是否有办法将限制设置为零。最大值为100,当用户用完时,最小值应为0且不应小于0。这是我想出的代码。感谢您的任何意见、帮助和想法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
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@谢谢你!这帮了大忙。