import java.util.*;
import java.lang.*;
import java.io.*;
class Main {
public static void main
(String args
[]){ int numbers[]= {1,5,-9,12,-3,89, 18,23,4,-6};
try {
// Find minimum (lowest) value in array using loop
System.
out.
println("Minimum Value = " + getMinValue
(numbers
));
// Find maximum (largest) value in array using loop
System.
out.
println("Maximum Value = " + getMaxValue
(numbers
));
// Find average of all elements
System.
out.
println("Average Value = " + getAvgValue
(numbers
));
// Sort the numbers and print the sorted array
System.
out.
print("Sorted Array: "); for(int num : numbers){
}
// Challenge: Find median
System.
out.
println("Median Value = " + getMedianValue
(numbers
));
System.
out.
println("Error: Division by zero."); System.
out.
println("Error: Array index out of bounds."); System.
out.
println("Error: " + e.
getMessage()); }
}
// Find maximum (largest) value in array using loop
public static int getMaxValue(int[] numbers){
int maxValue = numbers[0];
for(int i=1; i<numbers.length; i++){
if(numbers[i] > maxValue){
maxValue = numbers[i];
}
}
return maxValue;
}
// Find minimum (lowest) value in array using loop
public static int getMinValue(int[] numbers){
int minValue = numbers[0];
for(int i=1; i<numbers.length; i++){
if(numbers[i] < minValue){
minValue = numbers[i];
}
}
return minValue;
}
// Find the average of an array of integers
public static double getAvgValue(int[] numbers){
double sum = 0;
for(int num : numbers){
sum += num;
}
if(numbers.length == 0){
}
return sum / numbers.length;
}
// Challenge: Find the median of the array
public static double getMedianValue(int[] numbers){
int len = numbers.length;
if(len == 0){
}
// The array should be sorted before calling this function.
if(len % 2 == 1){
return numbers[len/2];
} else {
return (numbers[len/2 - 1] + numbers[len/2]) / 2.0;
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBNYWluIHsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nIGFyZ3NbXSl7CiAgICAgICAgaW50IG51bWJlcnNbXT0gezEsNSwtOSwxMiwtMyw4OSwgMTgsMjMsNCwtNn07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIC8vIEZpbmQgbWluaW11bSAobG93ZXN0KSB2YWx1ZSBpbiBhcnJheSB1c2luZyBsb29wCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTWluaW11bSBWYWx1ZSA9ICIgKyBnZXRNaW5WYWx1ZShudW1iZXJzKSk7CgogICAgICAgICAgICAvLyBGaW5kIG1heGltdW0gKGxhcmdlc3QpIHZhbHVlIGluIGFycmF5IHVzaW5nIGxvb3AKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJNYXhpbXVtIFZhbHVlID0gIiArIGdldE1heFZhbHVlKG51bWJlcnMpKTsKCiAgICAgICAgICAgIC8vIEZpbmQgYXZlcmFnZSBvZiBhbGwgZWxlbWVudHMKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJBdmVyYWdlIFZhbHVlID0gIiArIGdldEF2Z1ZhbHVlKG51bWJlcnMpKTsKCiAgICAgICAgICAgIC8vIFNvcnQgdGhlIG51bWJlcnMgYW5kIHByaW50IHRoZSBzb3J0ZWQgYXJyYXkKICAgICAgICAgICAgQXJyYXlzLnNvcnQobnVtYmVycyk7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnQoIlNvcnRlZCBBcnJheTogIik7CiAgICAgICAgICAgIGZvcihpbnQgbnVtIDogbnVtYmVycyl7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KG51bSArICIgIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CgogICAgICAgICAgICAvLyBDaGFsbGVuZ2U6IEZpbmQgbWVkaWFuCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTWVkaWFuIFZhbHVlID0gIiArIGdldE1lZGlhblZhbHVlKG51bWJlcnMpKTsKCiAgICAgICAgfSBjYXRjaCAoQXJpdGhtZXRpY0V4Y2VwdGlvbiBlKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRXJyb3I6IERpdmlzaW9uIGJ5IHplcm8uIik7CiAgICAgICAgfSBjYXRjaCAoQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uIGUpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJFcnJvcjogQXJyYXkgaW5kZXggb3V0IG9mIGJvdW5kcy4iKTsKICAgICAgICB9IGNhdGNoIChFeGNlcHRpb24gZSkgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkVycm9yOiAiICsgZS5nZXRNZXNzYWdlKCkpOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBGaW5kIG1heGltdW0gKGxhcmdlc3QpIHZhbHVlIGluIGFycmF5IHVzaW5nIGxvb3AKICAgIHB1YmxpYyBzdGF0aWMgaW50IGdldE1heFZhbHVlKGludFtdIG51bWJlcnMpewogICAgICAgIGludCBtYXhWYWx1ZSA9IG51bWJlcnNbMF07CiAgICAgICAgZm9yKGludCBpPTE7IGk8bnVtYmVycy5sZW5ndGg7IGkrKyl7CiAgICAgICAgICAgIGlmKG51bWJlcnNbaV0gPiBtYXhWYWx1ZSl7CiAgICAgICAgICAgICAgICBtYXhWYWx1ZSA9IG51bWJlcnNbaV07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG1heFZhbHVlOwogICAgfQoKICAgIC8vIEZpbmQgbWluaW11bSAobG93ZXN0KSB2YWx1ZSBpbiBhcnJheSB1c2luZyBsb29wCiAgICBwdWJsaWMgc3RhdGljIGludCBnZXRNaW5WYWx1ZShpbnRbXSBudW1iZXJzKXsKICAgICAgICBpbnQgbWluVmFsdWUgPSBudW1iZXJzWzBdOwogICAgICAgIGZvcihpbnQgaT0xOyBpPG51bWJlcnMubGVuZ3RoOyBpKyspewogICAgICAgICAgICBpZihudW1iZXJzW2ldIDwgbWluVmFsdWUpewogICAgICAgICAgICAgICAgbWluVmFsdWUgPSBudW1iZXJzW2ldOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBtaW5WYWx1ZTsKICAgIH0KCiAgICAvLyBGaW5kIHRoZSBhdmVyYWdlIG9mIGFuIGFycmF5IG9mIGludGVnZXJzCiAgICBwdWJsaWMgc3RhdGljIGRvdWJsZSBnZXRBdmdWYWx1ZShpbnRbXSBudW1iZXJzKXsKICAgICAgICBkb3VibGUgc3VtID0gMDsKICAgICAgICBmb3IoaW50IG51bSA6IG51bWJlcnMpewogICAgICAgICAgICBzdW0gKz0gbnVtOwogICAgICAgIH0KICAgICAgICBpZihudW1iZXJzLmxlbmd0aCA9PSAwKXsKICAgICAgICAgICAgdGhyb3cgbmV3IEFyaXRobWV0aWNFeGNlcHRpb24oIkNhbm5vdCBjb21wdXRlIGF2ZXJhZ2Ugb2YgZW1wdHkgYXJyYXkuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzdW0gLyBudW1iZXJzLmxlbmd0aDsKICAgIH0KCiAgICAvLyBDaGFsbGVuZ2U6IEZpbmQgdGhlIG1lZGlhbiBvZiB0aGUgYXJyYXkKICAgIHB1YmxpYyBzdGF0aWMgZG91YmxlIGdldE1lZGlhblZhbHVlKGludFtdIG51bWJlcnMpewogICAgICAgIGludCBsZW4gPSBudW1iZXJzLmxlbmd0aDsKICAgICAgICBpZihsZW4gPT0gMCl7CiAgICAgICAgICAgIHRocm93IG5ldyBBcml0aG1ldGljRXhjZXB0aW9uKCJDYW5ub3QgY29tcHV0ZSBtZWRpYW4gb2YgZW1wdHkgYXJyYXkuIik7CiAgICAgICAgfQogICAgICAgIC8vIFRoZSBhcnJheSBzaG91bGQgYmUgc29ydGVkIGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgaWYobGVuICUgMiA9PSAxKXsKICAgICAgICAgICAgcmV0dXJuIG51bWJlcnNbbGVuLzJdOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAobnVtYmVyc1tsZW4vMiAtIDFdICsgbnVtYmVyc1tsZW4vMl0pIC8gMi4wOwogICAgICAgIH0KICAgIH0KfQ==