如何获得数组的最小值,最大值?

Dio*_*Dio 5 java android

这是我的代码.我需要得到我的数组的最小值,最大值,以便能够得到范围,每当我输入数字时,最小值为0.请帮助我.谢谢:)

final AutoCompleteTextView inputValues = (AutoCompleteTextView) findViewById(R.id.txt_input);
final TextView txtMinimum = (TextView) findViewById(R.id.txtMinimum);
final TextView txtMaximum = (TextView) findViewById(R.id.txtMaximum);
final TextView txtRange = (TextView) findViewById(R.id.txtRange);

Button btncalculate = (Button)findViewById(R.id.btncalculate);
btncalculate.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        String []values = ( inputValues.getText().toString().split(","));
        int[] convertedValues = new int[values.length];

        // calculate for the minimum and maximum number
        int min = 0;
        int max=0;

        min = max = convertedValues[0];
        for (int i = 0; i < convertedValues.length; ++i) {
            convertedValues[i] =Integer.parseInt(values[i]);
            min = Math.min(min, convertedValues[i]);
            max = Math.max(max, convertedValues[i]);
        }
        txtMinimum.setText(Integer.toString(min));
        txtMaximum.setText(Integer.toString(max));

        // calculate for the range
        int range=max - min;
        txtRange.setText(Integer.toString(range));

    }});
Run Code Online (Sandbox Code Playgroud)

Max*_*tin 25

使用Collections使用它,你可以找到最低和最高与您的代码.

以下是该示例代码:

 List<Integer> list = Arrays.asList(100,2,3,4,5,6,7,67,2,32);

   int min = Collections.min(list);
   int max = Collections.max(list);

   System.out.println(min);
   System.out.println(max);
Run Code Online (Sandbox Code Playgroud)

输出:

2
100
Run Code Online (Sandbox Code Playgroud)


Bal*_*kar 7

int[] convertedValues = new int[10];
int max = convertedValues[0];

for (int i = 1; i < convertedValues.length; i++) {
    if (convertedValues[i] > max) {
        max = convertedValues[i];
    }
}
Run Code Online (Sandbox Code Playgroud)

类似地,通过改变较小的符号来找到最小值.

  • 我知道这很傻但你可以从i = 1开始:) (5认同)

dip*_*ali 6

int minIndex = list.indexOf(Collections.min(list));
Run Code Online (Sandbox Code Playgroud)

要么

public class MinMaxValue {

    public static void main(String[] args) {
        char[] a = {'3', '5', '1', '4', '2'};

        List b = Arrays.asList(ArrayUtils.toObject(a));

        System.out.println(Collections.min(b));
        System.out.println(Collections.max(b));
   }
}
Run Code Online (Sandbox Code Playgroud)


Bac*_*ash 5

您可以对数组进行排序并获取位置0length-1:

Arrays.sort(convertedValues);

int min = convertedValues[0];
int max = convertedValues[convertedValues.length - 1];
Run Code Online (Sandbox Code Playgroud)

数组#sort(int []):

将指定的整数数组按升序排序.

因此,排序后,第一个元素是最小元素,最后一个元素是最大元素.