Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Solve it with java please Recall from your days in math class that the 2-dimensional Cartesian plan is divided into four quadrants . The sign

Solve it with java pleaseimage text in transcribed

Recall from your days in math class that the 2-dimensional Cartesian plan is divided into four quadrants. The sign of an (x,y) pair dictates which quadrant it will lie in.

Quadrant 1 (Q1) contains coordinates with both x and y positive (+,+)

Quadrant 2 (Q2) contains coordinates with x negative and y positive (-,+)

Quadrant 3 (Q3) contains coordinates with both x and y negative (-,-)

Quadrant 4 (Q4) contains coordinates with x positive and y negative (+,-)

We will model the four quadrants with a couple of Java enumerations, representing negative/zero/positive values, and the four quadrants (plus a "none" quadrant, when the coordinate is on either or both axes). The Quadrant enumeration will have a main()method that takes command line arguments that are pairs of numbers and prints which quadrant to which the pair belongs.

1 Signum enumeration

Values

A Signum represents one of three possible states: NEG, ZERO, POS. Represent these three values and no others.

Fields/Constructors

none required, but you are welcome to add some if you see fit.

Methods

public String toString(). Returns one of these strings as appropriate: "+", "0", "-". Hint: using a switch statement on this is a common useful trick when writing methods over enumerations.

2 Quadrant enumeration

Values

There are five elements of the Quadrant enumeration: Q1, Q2, Q3, Q4, NONE. Ensure that these are all present and no other exist.

Fields

Each Quadrant needs to know if its x and y components are positive, zero, or negative. Use your Signum type internally (private field); we can' check this directly, but you'll need this exact information for the methods below.

Methods

private Quadrant(Signum xSig, Signum ySig). We can't test your private constructor, but use this chance to fill in yourprivate fields. Note: the NONE value should represent all coordinates on either/both axes; store null as its xSig and ySigvalues.

public boolean xPositive(). Does this quadrant have a positive x?

public boolean yPositive(). Does this quadrant have a negative x?

public String signPair(). Return a string of the format "(+,-)", which shows the String representations of the xSig andySig fields (as shown below):

(+,+) for Q1

(-,+) for Q2

(-,-) for Q3

(+,-) for Q4

(?,?) for NONE

public Quadrant flipX(). Returns the Quadrant whose xSig has the opposite sign. (NONE is its own x-flipped value).

public Quadrant flipY(). Returns the Quadrant whose ySig has the opposite sign. (NONE is its own y-flipped value).

public static Quadrant fromInts(int x, int y). Given two integers, determine and return the appropriate Quadrant.

public static void main(String[] args).

Accept an arbitrary number of command line arguments.

Treat adjacent arguments as pairs of integers. In processing the arguments, you will be looking at them two at a time.

For each pair of integers, generate the Quadrant to which the pair belongs.

Print the quadrant in which the pair resides along with the signPair(), as in this example format:

(1,5) has signs (+,+) and is in Q1 

Hint: the Integer.parseInt() method is useful; give it a try!

Main Examples

You can both invoke your program on the command line with arguments, or you can also invoke it in the Interactions Pane of DrJava the exact same way (also via the java command, not via the run command):

> java Quadrant // Odd number of args, ignore last > java Quadrant -1 // Valid pair, produce output > java Quadrant 1 5 (1,5) has signs (+,+) and is in Q1 // Output for valid pair, ignore last odd arg > java Quadrant -2 -13 4 (-2,-13) has signs (-,-) and is in Q3 // Handle multiple pairs > java Quadrant 2 -13 4 12 -1 113 19 (2,-13) has signs (+,-) and is in Q4 (4,12) has signs (+,+) and is in Q1 (-1,113) has signs (-,+) and is in Q2 
A J-azis 10 T Il P(3,5) -10 10 (0,0) organ IV 10 T

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Secrets Of Analytical Leaders Insights From Information Insiders

Authors: Wayne Eckerson

1st Edition

1935504347, 9781935504344

More Books

Students also viewed these Databases questions