package staticInnerClass;
/**
* Ten program demonstruje zastosowanie statycznych klas wewnętrznych.
* @version 1.01 2004-02-27
* @author Cay Horstmann
*/
public class StaticInnerClassTest
{
public static void main(String[] args)
{
double[] d = new double[20];
for (int i = 0; i < d.length; i++)
d[i] = 100 * Math.random();
ArrayAlg.Pair p = ArrayAlg.minmax(d);
System.out.println("min = " + p.getFirst());
System.out.println("max = " + p.getSecond());
}
}
class ArrayAlg
{
/**
* Para liczb zmiennoprzecinkowych.
*/
public static class Pair
{
private double first;
private double second;
/**
* Tworzy parę dwóch liczb zmiennoprzecinkowych.
* @param f pierwsza liczba
* @param s druga liczba
*/
public Pair(double f, double s)
{
first = f;
second = s;
}
/**
* Zwraca pierwszą liczbę z pary.
* @return pierwsza liczba
*/
public double getFirst()
{
return first;
}
/**
* Zwraca drugą liczbę z pary.
* @return druga liczba
*/
public double getSecond()
{
return second;
}
}
/**
* Znajduje największą i najmniejszą wartość w tablicy.
* @param values tablica liczb zmiennoprzecinkowych
* @return para liczb, w której pierwsza liczba określa wartość najmniejszą, a druga
* największą
*/
public static Pair minmax(double[] values)
{
double min = Double.MAX_VALUE;
double max = Double.MIN_VALUE;
for (double v : values)
{
if (min > v) min = v;
if (max < v) max = v;
}
return new Pair(min, max);
}
}
W powyższym kodzie nie rozumiem działania metody minmax.
- W jaki sposób ona szuka wartości min i max ?
- Czemu w do zmiennej "min" przypisane jest MAX_VALUE i zmiennej "max" przypisane jest MIN_VALUE
W skrócie krótka metoda ale nie wiem jak działa.