Note that there are some explanatory texts on larger screens.

plurals
  1. POHow can I get my program to return -1/4 and NOT 1/-4?
    primarykey
    data
    text
    <p>\Help! My homework is due by 12am tonight and I can't seem to get my program to output a negative number as -1/4 rather than 1/-4! It's frustrating me because the thing is, I cannot just place a "-" in front of my numbers (which as you can see in my program below, I have commented out). My attempt at getting fraction to be -1/4 (just using this fraction as an example) is under the "public RationalNumber(int...) { line: you see the part where I have *-1 written? Where did I go wrong in that step that led me to get 1/-4? This is frustrating me... Thanks in advance. </p> <pre><code>private int n; private int d; public RationalNumber(int numerator, int denominator) { if (denominator == 0) { throw new IllegalArgumentException(); } if (denominator &lt; 0) { denominator = denominator * -1; numerator = numerator * -1; } n = numerator; d = denominator; simplified(); } public RationalNumber add(RationalNumber rn) { int comDenom = d * rn.getDenominator(); int num1 = n * rn.d; int num2 = rn.n * d; d = comDenom; return new RationalNumber(num1 + num2, d); } public RationalNumber subtract(RationalNumber rn) { int num1 = n * rn.d; int num2 = rn.n * d; return new RationalNumber(num1 - num2, d); } public RationalNumber multiply(RationalNumber rn) { int numer = n * rn.n; int denom = d * rn.d; return new RationalNumber(numer, denom); } public RationalNumber divide(RationalNumber rn) { int numer = n * rn.d; int denom = d * rn.n; return new RationalNumber(numer, denom); } public RationalNumber() { n = 0; d = 1; } public boolean equals(RationalNumber o) { return (n == o.getNumerator() &amp;&amp; d == o.getDenominator()); } public int getDenominator() { return d; } public int getNumerator() { return n; } public String toString() { //Prints everything here. if (d == 1) { return "" + n; } if (n == 0) { return "0"; } /*if ((n &lt; 0) || (d &lt; 0)) { return "-" + Math.abs(n) + "/" + Math.abs(d); }*/ return n + "/" + d; } private void simplified() { if (n != 0) { int cDenom = gcd(n, d); n = n / cDenom; d = d / cDenom; } } private int gcd(int gcdNum1, int gcdNum2) { while (gcdNum1 != 0 &amp;&amp; gcdNum2 != 0) { int tempNum = gcdNum2; gcdNum2 = gcdNum1 % gcdNum2; gcdNum1 = tempNum; } return gcdNum1 + gcdNum2; } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload