1. 程式人生 > >java實用小技巧——巧用最大值

java實用小技巧——巧用最大值

1、前言

日常開發中,我們會碰到各種各樣的問題,如果每個問題都能找到合適有效的方法解決,一定會做到事半功倍的效果!
比如這裡我要說的最大值。下面我們通過一個例子表現一下

2、題目

假如有如下幾個省以及其對應下面的市區進行評選空氣質量等級
要求該省每個市區PM指數相加總和≤50分並且該省的每個市區PM指數≤10分,判定該省空氣質量為優,
每個市區PM指數相加總和≤60分並且每個市區PM指數≤15分,判定該省空氣質量為良,其他為一般
安徽下的五個市區PM指數分別為(10、12、8、9、6)
江蘇下的五個市區PM指數分別為(9、6、10、8、9)
浙江下的五個市區PM指數分別為(12、9、13、10、9)

大家可以先試著敲一下如果這裡沒有用最大值會不會進入for迴圈誤區~
下面是使用最大值的用法

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        int[] anhui = new int[]{10
,12,8,9,6}; int[] jiangsu = new int[]{9,6,10,8,9}; int[] zhejiang = new int[]{12,9,13,10,9}; //以安徽為例 int type = getResult(anhui); switch (type) { case 0: Log.i("TAG", "該省空氣質量為優!"); break; case 1: Log.i("TAG", "該省空氣質量為良!"
); break; case 2: Log.i("TAG", "該省空氣質量為一般!"); break; } } public int getResult(int[] pms) { int total = 0; int max = -1; for (int i = 0; i < pms.length; i++) { total += pms[i]; if (max < pms[i]) { max = pms[i]; } } if (total <= 50) { if (max <= 10) { return 0; } } else if (total <= 60) { if (max <= 15) { return 1; } } return 2; } }

OK~!有沒有很簡潔方便!避免了在for迴圈里加繁瑣的邏輯判斷。