44 lines
1.4 KiB
Java
44 lines
1.4 KiB
Java
// arrays/IceCream.java
|
|
// (c)2016 MindView LLC: see Copyright.txt
|
|
// We make no guarantees that this code is fit for any purpose.
|
|
// Visit http://mindviewinc.com/Books/OnJava/ for more book information.
|
|
// Returning arrays from methods.
|
|
import java.util.*;
|
|
|
|
public class IceCream {
|
|
private static Random rand = new Random(47);
|
|
static final String[] FLAVORS = {
|
|
"Chocolate", "Strawberry", "Vanilla Fudge Swirl",
|
|
"Mint Chip", "Mocha Almond Fudge", "Rum Raisin",
|
|
"Praline Cream", "Mud Pie"
|
|
};
|
|
public static String[] flavorSet(int n) {
|
|
if(n > FLAVORS.length)
|
|
throw new IllegalArgumentException("Set too big");
|
|
String[] results = new String[n];
|
|
boolean[] picked = new boolean[FLAVORS.length];
|
|
for(int i = 0; i < n; i++) {
|
|
int t;
|
|
do
|
|
t = rand.nextInt(FLAVORS.length);
|
|
while(picked[t]);
|
|
results[i] = FLAVORS[t];
|
|
picked[t] = true;
|
|
}
|
|
return results;
|
|
}
|
|
public static void main(String[] args) {
|
|
for(int i = 0; i < 7; i++)
|
|
System.out.println(Arrays.toString(flavorSet(3)));
|
|
}
|
|
}
|
|
/* Output:
|
|
[Rum Raisin, Mint Chip, Mocha Almond Fudge]
|
|
[Chocolate, Strawberry, Mocha Almond Fudge]
|
|
[Strawberry, Mint Chip, Mocha Almond Fudge]
|
|
[Rum Raisin, Vanilla Fudge Swirl, Mud Pie]
|
|
[Vanilla Fudge Swirl, Chocolate, Mocha Almond Fudge]
|
|
[Praline Cream, Strawberry, Mocha Almond Fudge]
|
|
[Mocha Almond Fudge, Strawberry, Mint Chip]
|
|
*/
|