corejava第8版
This commit is contained in:
1 parent
75e83a331f
commit
e89542a214
522 files changed
+98293
No files matched your search
@@ -0,0 +1,76 @@
|
||||
/**
|
||||
* This program demonstrates the use of static inner classes.
|
||||
* @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
|
||||
{
|
||||
/**
|
||||
* A pair of floating-point numbers
|
||||
*/
|
||||
public static class Pair
|
||||
{
|
||||
/**
|
||||
* Constructs a pair from two floating-point numbers
|
||||
* @param f the first number
|
||||
* @param s the second number
|
||||
*/
|
||||
public Pair(double f, double s)
|
||||
{
|
||||
first = f;
|
||||
second = s;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the first number of the pair
|
||||
* @return the first number
|
||||
*/
|
||||
public double getFirst()
|
||||
{
|
||||
return first;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the second number of the pair
|
||||
* @return the second number
|
||||
*/
|
||||
public double getSecond()
|
||||
{
|
||||
return second;
|
||||
}
|
||||
|
||||
private double first;
|
||||
private double second;
|
||||
}
|
||||
|
||||
/**
|
||||
* Computes both the minimum and the maximum of an array
|
||||
* @param values an array of floating-point numbers
|
||||
* @return a pair whose first element is the minimum and whose second element
|
||||
* is the maximum
|
||||
*/
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user