In: Computer Science
Download the Compass.java file, and open it in jGrasp (or a text editor of your choice). This program will randomly print out a compass direction, given a seed value for produce a random number with java.util.Random. Compass directions are mapped to integers according to the following table:
| Compass Direction | Integer ID |
|---|---|
| North | 0 |
| Northeast | 1 |
| East | 2 |
| Southeast | 3 |
| South | 4 |
| Southwest | 5 |
| West | 6 |
| Northwest | 7 |
Further details are in the comments of Compass.java.
import java.util.Random;
import java.util.Scanner;
public class Compass {
// You will need to do the following:
//
// 1.) Define a private instance variable which can
// hold a reference to a Random object.
//
// 2.) Define a constructor which takes a seed value.
// This seed will be used to initialize the
// aforementioned Random instance variable.
//
// 3.) Define a static method named numberToDirection
// which takes a direction number and returns a String
// representing the direction corresponding to the given
// number. A snippet of code has been provied starting
// this implementation.
//
// 4.) Define an instance method named randomDirection
// which generates a valid random direction number
// and returns a String representing that direction.
// You MUST call numberToDirection to perform this
// determination. The number for the parameter to
// numberToDirection should be derived from the
// Random instance created in the constructor.
//
// As a hint, the overall structure of this file is
// based on the structure used in ScoreDice.java from
// the previous lab. You may wish to consult that file
// as an example.
//
// DO NOT MODIFY main!
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter seed: ");
long seed = input.nextLong();
Compass compass = new Compass(seed);
String direction = compass.randomDirection();
System.out.println("Random direction: " + direction);
}
}
hey there ! i am done with the code ,, Please give me a like to appreciate my work and efforts...
here is the code -
package Compass;
import java.util.Random;
import java.util.Scanner;
public class Compass {
long seed;
// You will need to do the following:
//
// 1.) Define a private instance variable which
can
// hold a reference to a
Random object.
Random random;
// 2.) Define a constructor which takes a seed
value.
// This seed will be
used to initialize the
// aforementioned Random
instance variable.
private Compass(long seed) {
this.seed=seed;
random=new
Random();
}
//
//
// 3.) Define a static method named
numberToDirection
// which takes a
direction number and returns a String
// representing the
direction corresponding to the given
// number. A snippet of
code has been provied starting
// this
implementation.
//
public static String numberToDirection(long
directionno)
{
if(directionno==0)
{
return "North";
}
else if(directionno==1)
{
return "Northeast";
}
else if(directionno==2)
{
return "East";
}
else if(directionno==3)
{
return "Southeast";
}
else if(directionno==4)
{
return "South";
}
else if(directionno==5)
{
return "Southwest";
}
else if(directionno==6)
{
return "West";
}
else if(directionno==7)
{
return "Northwest";
}
else
return "";
}
// 4.) Define an instance method named randomDirection
// which generates a
valid random direction number
// and returns a String
representing that direction.
// You MUST call
numberToDirection to perform this
// determination. The
number for the parameter to
// numberToDirection
should be derived from the
// Random instance
created in the constructor.
private String randomDirection() {
int directionno
=random.nextInt((int) seed);
System.out.println(directionno);
String
direction=numberToDirection(directionno);
return direction;
}
//
// As a hint, the overall structure of this file
is
// based on the structure used in ScoreDice.java
from
// the previous lab. You may wish to consult
that file
// as an example.
//
// DO NOT MODIFY main!
public static void main(String[] args) {
Scanner input = new
Scanner(System.in);
System.out.print("Enter
seed: ");
long seed =
input.nextLong();
Compass compass = new
Compass(seed);
String direction =
compass.randomDirection();
System.out.println("Random direction: " + direction);
}
}
and the snapshot of the output is --


Thank You ! Dont forget to like the code !