2009 Number Cube
<< 2010GridChecker | APQuestionsTrailIndex | 2009StockpileCritter >>
NumberCube.java
/**
* @version 11 May 2009
*/
public class NumberCube
{
public NumberCube()
{
}
/**
* toss
* @return an integer value between 1 and 6, inclusive
*/
public int toss()
{
return 1+(int)(6*Math.random());
}
/** Returns an array of the values obtained by tossing a
* number cube numTosses times.
* @param cube a NumberCube
* @param numTosses the number of tosses to be recorded
* Precondition: numTosses > 0
* @return an array of numTosses values
*/
public static int[] getCubeTosses(NumberCube cube, int numTosses)
{
//part a
}
/** Returns the starting index of a longest run of two or more
* consecutive repeated values
* in the array values.
* @param values an array of integer values representing a series of number cube tosses
* Precondition: values.length > 0
@return the starting index of a run of maximum size;
* -1 if there is no run
*/
public static int getLongestRun(int[] values)
{
//part b:
}
}
NumberCubeTester.java
public class NumberCubeTester
{
public static void main(String[]args)
{
NumberCube c= new NumberCube();
int[] v= new int[18];
//part a test
v=c.getCubeTosses(c, 18);
System.out.println("The result from getCubeTosses:");
for(int i:v) System.out.print(i+" ");
System.out.println();
//part b test
int[] b = {1,5,5,4,3,1,2,2,2,2,6,1,3,3,5,5,5,5};
for(int i:b) System.out.print(i+" ");
System.out.println("\nLocation of longest run (should be either 6 or 14):");
System.out.println(c.getLongestRun(b));
System.out.println("\nLongest run of the random one:");
for(int i:v) System.out.print(i+" ");
System.out.print("\nis :");
System.out.println(c.getLongestRun(v));
int[] zilch = {1,2,3};
System.out.println("\nLongest run of zilch should be -1:");
System.out.println(c.getLongestRun(zilch));
}
}
