2016-12-14 100 views
-1

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

您是否指Double.toString(100 - (iSlider + dSlider + sSlider + wSlider))的最小值? – maheeka

+0

'Math.max(0,otherNum)' – 4castle

+0

是的。当我将前三个滑动到每个25时,第四个应该不会超过25. @maheeka – dullerthandull

回答

1

简单地说:

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

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

+0

谢谢!这有很大帮助。 – dullerthandull

0

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

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

或者更好的做出改变它们的值的方法,也将做检查就像我给你看的那样,防止他们过去。

相关问题