Method getFirst
returns the String
that comes first (is the smallest) among its parameters a
, b
, and c
, each of which is not null
.
// precondition: a != null && b != null && c != null
public static String getFirst(String a, String b, String c)
{
String first = a;
if(b.compareTo(first) < 0)
first = b;
if(c.compareTo(first) < 0)
first = c;
return first;
}
The same standard algorithm is used to find the min/max of a fixed number of values. Set the min/max to the first thing that could be the min/max. Check each additional value against the min/max so far. Update the min/max when a new min/max is found. The conditional statements are intentionally independent. (The second statement is NOT else if
.)
A common mistake when finding the min/max of a fixed number of values is comparing each value to each other value. (ex: a
to b
, b
to c
, and a
to c
). Although it is possible to do so correctly, it is more complex, more error prone, and does not scale well to a larger number of values.
If there are more than 4 values, consider adding them to an array or ArrayList
and using a loop.
For more information on String
comparisons, see compareTo on the AP CS A Exam.
Navigation
- Find the min/max
- Find the min/max in an array of objects
- Find the min/max with calculated values
- Find the min/max of values accepted as input