www.pudn.com > ThinkinginJava4thEdition(SourceCode).zip > IceCream.java


//: arrays/IceCream.java 
// 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] 
*///:~