这是我第一次在程序中执行此操作,我想知道是否有办法将限制设置为零。最大值为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 )));
}
}
答案 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
}
或者更好的是制作一个方法来改变它们的值,这些方法也会像我给你看的那样检查,以防止它们过去。