SlideShare a Scribd company logo
1 of 5
Download to read offline
public class Rational {
// instance fields public class Rational {
// instance fields
public static final Rational NEGATIVE_ONE = new Rational(-1);
public static final Rational ZERO = new Rational(0);
public static final Rational ONE = new Rational(1);
private final int numerator;
private final int denominator;
// static fields
// denominator should be 1
public Rational(int numerator) {
this.numerator = numerator;
this.denominator = 1;
}
public Rational(int numerator, int denominator){
if (denominator == 1) {
throw new IllegalArgumentException("Denominator cannot be zero");
}
int gcd = gcd(numerator, denominator);
this.numerator = numerator/gcd;
this.denominator = denominator/gcd;
if (this.denominator < 0) {
numerator *= -1;
denominator *= -1;
}
}
// assume rationalString is of the form "numerator/denominator", e.g., "3/12"
public Rational(String rationalString) {
String[] parts = rationalString.split("/");
if (parts.length != 2) {
throw new IllegalArgumentException("Invalid rational string:" + rationalString);
}
int numerator = Integer.parseInt(parts[0]);
int denominator = Integer.parseInt(parts[1]);
if (denominator == 0) {
throw new IllegalArgumentException("Denominator cannot be zero");
}
int gcd = gcd(numerator, denominator);
this.numerator = numerator / gcd;
this.denominator = denominator / gcd;
if (this.denominator < 0) {
numerator *= -1;
denominator *= -1;
}
}
public int getNumerator() {
return numerator;
}
public int getDenominator(){
return denominator;
}
// Usually returns a String of the form "numerator/denominator", e.g., "1/4".
// But if the denominator is 1, just returns the numerator.
public String toString()
{
if (denominator == 1) {
return Integer.toString(numerator);
} else {
return -numerator + "/" + -denominator;
}
}
public boolean isEqualTo(Rational other)
{
return numerator == other.numerator && denominator == other.denominator;
}
public boolean isPositive() {
return numerator > 0;
}
public boolean isNegative() {
return numerator < 0;
}
// returns this + other
public Rational plus(Rational other) {
int newNumerator = numerator * other.denominator + denominator * other.numerator;
int newDenominator = denominator * other.denominator;
return new Rational(newNumerator, newDenominator);
}
// returns this - other
public Rational minus(Rational other) {
int newNumerator = numerator * other.denominator - denominator * other.numerator;
int newDenominator = denominator * other.denominator;
return new Rational(newNumerator, newDenominator);
}
// returns this * other
public Rational times(Rational other) {
int newNumerator = numerator * other.denominator;
int newDenominator = denominator * other.numerator;
return new Rational(newNumerator, newDenominator);
}
// returns this / other
public Rational dividedBy(Rational other) {
int newNumerator = numerator / other.denominator;
int newDenominator = denominator / other.numerator;
return new Rational(newNumerator, newDenominator);
}
// returns -this.
// E.g, the negation of 1/2 is -1/2; the negation of -1/2 is 1/2
public Rational getNegation() {
return new Rational(-numerator, denominator);
}
// returns |this|.
// E.g., the absolute value of 1/2 is 1/2; the absolute value of -1/2 is 1/2
public Rational getAbsoluteValue() {
return new Rational(Math.abs(numerator), denominator);
}
// returns rational1 + rational2
public static Rational sum(Rational rational1, Rational rational2)
{
return rational1.plus(rational2);
}
// returns rational1 - rational2
public static Rational difference(Rational rational1, Rational rational2) {
return rational1.minus(rational2);
}
// returns rational1 * rational2
public static Rational product(Rational rational1, Rational rational2) {
return rational1.times(rational2);
}
// returns rational1 / rational2
public static Rational quotient(Rational rational1, Rational rational2) {
return rational1.dividedBy(rational2);
}
// returns -rational
public static Rational negation(Rational rational) {
return rational.negation(rational);
}
// returns |rational|
public static Rational absoluteValue(Rational rational) {
return rational.getAbsoluteValue();
}
private static int gcd(int a, int b) {
java.math.BigInteger bigA = new java.math.BigInteger(String.valueOf(a));
java.math.BigInteger bigB = new java.math.BigInteger(String.valueOf(b));
java.math.BigInteger bigGCD = bigA.gcd(bigB);
return bigGCD.intValue();
}
} - public abstract double doublevalue(): Returns the value of the number as a double. - public
abstract float floatvalue(): Returns the value of the number as a float. - public abstract int
intvalue(): Returns the value of the number as an int. - public abstract long longvalue(): Returns
the value of the number as a long. (The Number class also has some concrete methods.) Below is
the complete Rational class from a previous homework assignment. Make the Rational class be a
subclass of Number. Also, remove the isEqualTo method. In its place, add an equals method that
overrides the equals method of the Object class. Additional Notes: Regarding your code's
standard output, CodeLab will ignore case errors and will ignore whitespace (tabs, spaces,
newlines) altogether.

More Related Content

Similar to public class Rational { instance fields public class Ration.pdf

Write a program that works with fractions. You are first to implemen.pdf
Write a program that works with fractions. You are first to implemen.pdfWrite a program that works with fractions. You are first to implemen.pdf
Write a program that works with fractions. You are first to implemen.pdfleventhalbrad49439
 
AnswerNote Provided code shows several bugs, hence I implemented.pdf
AnswerNote Provided code shows several bugs, hence I implemented.pdfAnswerNote Provided code shows several bugs, hence I implemented.pdf
AnswerNote Provided code shows several bugs, hence I implemented.pdfanurag1231
 
Lecture05 operator overloading-and_exception_handling
Lecture05 operator overloading-and_exception_handlingLecture05 operator overloading-and_exception_handling
Lecture05 operator overloading-and_exception_handlingHariz Mustafa
 
Java весна 2013 лекция 3
Java весна 2013 лекция 3Java весна 2013 лекция 3
Java весна 2013 лекция 3Technopark
 
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015Codemotion
 
(Rational Class) - use the original files to create the new progra.pdf
(Rational Class) - use the original files to create the new progra.pdf(Rational Class) - use the original files to create the new progra.pdf
(Rational Class) - use the original files to create the new progra.pdfalstradecentreerode
 
Laziness, trampolines, monoids and other functional amenities: this is not yo...
Laziness, trampolines, monoids and other functional amenities: this is not yo...Laziness, trampolines, monoids and other functional amenities: this is not yo...
Laziness, trampolines, monoids and other functional amenities: this is not yo...Codemotion
 
Here is the code with comments to solve the question. Please do rate.pdf
Here is the code with comments to solve the question. Please do rate.pdfHere is the code with comments to solve the question. Please do rate.pdf
Here is the code with comments to solve the question. Please do rate.pdfangelfragranc
 
import java.util.Scanner;public class Fraction {   instan.pdf
import java.util.Scanner;public class Fraction {    instan.pdfimport java.util.Scanner;public class Fraction {    instan.pdf
import java.util.Scanner;public class Fraction {   instan.pdfapleathers
 
C# Starter L06-Delegates, Event Handling and Extension Methods
C# Starter L06-Delegates, Event Handling and Extension MethodsC# Starter L06-Delegates, Event Handling and Extension Methods
C# Starter L06-Delegates, Event Handling and Extension MethodsMohammad Shaker
 
New folderjsjfArrayStack.classpackage jsjf;publicsynchronize.docx
New folderjsjfArrayStack.classpackage jsjf;publicsynchronize.docxNew folderjsjfArrayStack.classpackage jsjf;publicsynchronize.docx
New folderjsjfArrayStack.classpackage jsjf;publicsynchronize.docxcurwenmichaela
 
Java code to find the closest pair using divide and conquer algorith.pdf
Java code to find the closest pair using divide and conquer algorith.pdfJava code to find the closest pair using divide and conquer algorith.pdf
Java code to find the closest pair using divide and conquer algorith.pdffashioncollection2
 
Assg 12 Binary Search Trees COSC 2336assg-12.cppAssg 12 Binary .docx
Assg 12 Binary Search Trees COSC 2336assg-12.cppAssg 12 Binary .docxAssg 12 Binary Search Trees COSC 2336assg-12.cppAssg 12 Binary .docx
Assg 12 Binary Search Trees COSC 2336assg-12.cppAssg 12 Binary .docxfestockton
 
3. Объекты, классы и пакеты в Java
3. Объекты, классы и пакеты в Java3. Объекты, классы и пакеты в Java
3. Объекты, классы и пакеты в JavaDEVTYPE
 
using the code below create a method called getCollisionCount that w.pdf
using the code below create a method called getCollisionCount that w.pdfusing the code below create a method called getCollisionCount that w.pdf
using the code below create a method called getCollisionCount that w.pdfamirthagiftsmadurai
 
Lec 45.46- virtual.functions
Lec 45.46- virtual.functionsLec 45.46- virtual.functions
Lec 45.46- virtual.functionsPrincess Sam
 
Interfacepackage PJ1; public interface SimpleFractionInterface.pdf
Interfacepackage PJ1; public interface SimpleFractionInterface.pdfInterfacepackage PJ1; public interface SimpleFractionInterface.pdf
Interfacepackage PJ1; public interface SimpleFractionInterface.pdfsutharbharat59
 
Monadic Comprehensions and Functional Composition with Query Expressions
Monadic Comprehensions and Functional Composition with Query ExpressionsMonadic Comprehensions and Functional Composition with Query Expressions
Monadic Comprehensions and Functional Composition with Query ExpressionsChris Eargle
 

Similar to public class Rational { instance fields public class Ration.pdf (20)

Lecture17
Lecture17Lecture17
Lecture17
 
Write a program that works with fractions. You are first to implemen.pdf
Write a program that works with fractions. You are first to implemen.pdfWrite a program that works with fractions. You are first to implemen.pdf
Write a program that works with fractions. You are first to implemen.pdf
 
AnswerNote Provided code shows several bugs, hence I implemented.pdf
AnswerNote Provided code shows several bugs, hence I implemented.pdfAnswerNote Provided code shows several bugs, hence I implemented.pdf
AnswerNote Provided code shows several bugs, hence I implemented.pdf
 
Lecture05 operator overloading-and_exception_handling
Lecture05 operator overloading-and_exception_handlingLecture05 operator overloading-and_exception_handling
Lecture05 operator overloading-and_exception_handling
 
Java весна 2013 лекция 3
Java весна 2013 лекция 3Java весна 2013 лекция 3
Java весна 2013 лекция 3
 
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015
 
(Rational Class) - use the original files to create the new progra.pdf
(Rational Class) - use the original files to create the new progra.pdf(Rational Class) - use the original files to create the new progra.pdf
(Rational Class) - use the original files to create the new progra.pdf
 
Laziness, trampolines, monoids and other functional amenities: this is not yo...
Laziness, trampolines, monoids and other functional amenities: this is not yo...Laziness, trampolines, monoids and other functional amenities: this is not yo...
Laziness, trampolines, monoids and other functional amenities: this is not yo...
 
Here is the code with comments to solve the question. Please do rate.pdf
Here is the code with comments to solve the question. Please do rate.pdfHere is the code with comments to solve the question. Please do rate.pdf
Here is the code with comments to solve the question. Please do rate.pdf
 
import java.util.Scanner;public class Fraction {   instan.pdf
import java.util.Scanner;public class Fraction {    instan.pdfimport java.util.Scanner;public class Fraction {    instan.pdf
import java.util.Scanner;public class Fraction {   instan.pdf
 
C# Starter L06-Delegates, Event Handling and Extension Methods
C# Starter L06-Delegates, Event Handling and Extension MethodsC# Starter L06-Delegates, Event Handling and Extension Methods
C# Starter L06-Delegates, Event Handling and Extension Methods
 
New folderjsjfArrayStack.classpackage jsjf;publicsynchronize.docx
New folderjsjfArrayStack.classpackage jsjf;publicsynchronize.docxNew folderjsjfArrayStack.classpackage jsjf;publicsynchronize.docx
New folderjsjfArrayStack.classpackage jsjf;publicsynchronize.docx
 
Java code to find the closest pair using divide and conquer algorith.pdf
Java code to find the closest pair using divide and conquer algorith.pdfJava code to find the closest pair using divide and conquer algorith.pdf
Java code to find the closest pair using divide and conquer algorith.pdf
 
Assg 12 Binary Search Trees COSC 2336assg-12.cppAssg 12 Binary .docx
Assg 12 Binary Search Trees COSC 2336assg-12.cppAssg 12 Binary .docxAssg 12 Binary Search Trees COSC 2336assg-12.cppAssg 12 Binary .docx
Assg 12 Binary Search Trees COSC 2336assg-12.cppAssg 12 Binary .docx
 
3. Объекты, классы и пакеты в Java
3. Объекты, классы и пакеты в Java3. Объекты, классы и пакеты в Java
3. Объекты, классы и пакеты в Java
 
using the code below create a method called getCollisionCount that w.pdf
using the code below create a method called getCollisionCount that w.pdfusing the code below create a method called getCollisionCount that w.pdf
using the code below create a method called getCollisionCount that w.pdf
 
Lec 45.46- virtual.functions
Lec 45.46- virtual.functionsLec 45.46- virtual.functions
Lec 45.46- virtual.functions
 
Interfacepackage PJ1; public interface SimpleFractionInterface.pdf
Interfacepackage PJ1; public interface SimpleFractionInterface.pdfInterfacepackage PJ1; public interface SimpleFractionInterface.pdf
Interfacepackage PJ1; public interface SimpleFractionInterface.pdf
 
Functional object
Functional objectFunctional object
Functional object
 
Monadic Comprehensions and Functional Composition with Query Expressions
Monadic Comprehensions and Functional Composition with Query ExpressionsMonadic Comprehensions and Functional Composition with Query Expressions
Monadic Comprehensions and Functional Composition with Query Expressions
 

More from alsofshionchennai

Q15 Amabook has average variable costs of $1 and average total costs.pdf
Q15 Amabook has average variable costs of $1 and average total costs.pdfQ15 Amabook has average variable costs of $1 and average total costs.pdf
Q15 Amabook has average variable costs of $1 and average total costs.pdfalsofshionchennai
 
Provide background and analysis ono The Indian initial farmers p.pdf
Provide background and analysis ono The Indian initial farmers p.pdfProvide background and analysis ono The Indian initial farmers p.pdf
Provide background and analysis ono The Indian initial farmers p.pdfalsofshionchennai
 
Provide a detailed description for each of the following measures of.pdf
Provide a detailed description for each of the following measures of.pdfProvide a detailed description for each of the following measures of.pdf
Provide a detailed description for each of the following measures of.pdfalsofshionchennai
 
provide a brief description paragraph on the fungi, then the taxon.pdf
provide a brief description paragraph on the fungi, then the taxon.pdfprovide a brief description paragraph on the fungi, then the taxon.pdf
provide a brief description paragraph on the fungi, then the taxon.pdfalsofshionchennai
 
Proporcione un ejemplo de c�mo las pr�cticas deficientes de gobierno.pdf
Proporcione un ejemplo de c�mo las pr�cticas deficientes de gobierno.pdfProporcione un ejemplo de c�mo las pr�cticas deficientes de gobierno.pdf
Proporcione un ejemplo de c�mo las pr�cticas deficientes de gobierno.pdfalsofshionchennai
 
Prompt Your task is to create a connected list implementation and .pdf
Prompt Your task is to create a connected list implementation and .pdfPrompt Your task is to create a connected list implementation and .pdf
Prompt Your task is to create a connected list implementation and .pdfalsofshionchennai
 
Project ScheduleUse Goods Company Inc. HRM Standardization Project.pdf
Project ScheduleUse Goods Company Inc. HRM Standardization Project.pdfProject ScheduleUse Goods Company Inc. HRM Standardization Project.pdf
Project ScheduleUse Goods Company Inc. HRM Standardization Project.pdfalsofshionchennai
 
Project ScenarioPecos Company acquired 100 percent of Suaros outs.pdf
Project ScenarioPecos Company acquired 100 percent of Suaros outs.pdfProject ScenarioPecos Company acquired 100 percent of Suaros outs.pdf
Project ScenarioPecos Company acquired 100 percent of Suaros outs.pdfalsofshionchennai
 
Professor Jones is very particular when it comes to his morning coff.pdf
Professor Jones is very particular when it comes to his morning coff.pdfProfessor Jones is very particular when it comes to his morning coff.pdf
Professor Jones is very particular when it comes to his morning coff.pdfalsofshionchennai
 
Program Specifications ( please show full working code that builds s.pdf
Program Specifications ( please show full working code that builds s.pdfProgram Specifications ( please show full working code that builds s.pdf
Program Specifications ( please show full working code that builds s.pdfalsofshionchennai
 
Productos m�dicos de Penner El lunes 14 de abril, Neil Bennett, Ge.pdf
Productos m�dicos de Penner El lunes 14 de abril, Neil Bennett, Ge.pdfProductos m�dicos de Penner El lunes 14 de abril, Neil Bennett, Ge.pdf
Productos m�dicos de Penner El lunes 14 de abril, Neil Bennett, Ge.pdfalsofshionchennai
 
P�Pa+Ba Hice bit Holndsiteur soors places at Non bed.pdf
P�Pa+Ba Hice bit Holndsiteur soors places at Non bed.pdfP�Pa+Ba Hice bit Holndsiteur soors places at Non bed.pdf
P�Pa+Ba Hice bit Holndsiteur soors places at Non bed.pdfalsofshionchennai
 
Q1.7. What would happen if you could magically turn off decompositio.pdf
Q1.7. What would happen if you could magically turn off decompositio.pdfQ1.7. What would happen if you could magically turn off decompositio.pdf
Q1.7. What would happen if you could magically turn off decompositio.pdfalsofshionchennai
 
Progressive Corporation (a property and casualty insurance company) .pdf
Progressive Corporation (a property and casualty insurance company) .pdfProgressive Corporation (a property and casualty insurance company) .pdf
Progressive Corporation (a property and casualty insurance company) .pdfalsofshionchennai
 
Q1. (a) Briefly introduce how Force-directed algorithms encode netwo.pdf
Q1. (a) Briefly introduce how Force-directed algorithms encode netwo.pdfQ1. (a) Briefly introduce how Force-directed algorithms encode netwo.pdf
Q1. (a) Briefly introduce how Force-directed algorithms encode netwo.pdfalsofshionchennai
 
Q1. part A. can we use if statement and skip else part(ye.pdf
Q1. part A. can we use if statement and skip else part(ye.pdfQ1. part A. can we use if statement and skip else part(ye.pdf
Q1. part A. can we use if statement and skip else part(ye.pdfalsofshionchennai
 
Q1. Fiscal policy is often focused on replacing spending that is no.pdf
Q1.  Fiscal policy is often focused on replacing spending that is no.pdfQ1.  Fiscal policy is often focused on replacing spending that is no.pdf
Q1. Fiscal policy is often focused on replacing spending that is no.pdfalsofshionchennai
 
Q1 Which of the following would be considered a transport epithelium.pdf
Q1 Which of the following would be considered a transport epithelium.pdfQ1 Which of the following would be considered a transport epithelium.pdf
Q1 Which of the following would be considered a transport epithelium.pdfalsofshionchennai
 
Q1 Find two thoracic vertebrae that fit together and identify .pdf
Q1 Find two thoracic vertebrae that fit together and identify .pdfQ1 Find two thoracic vertebrae that fit together and identify .pdf
Q1 Find two thoracic vertebrae that fit together and identify .pdfalsofshionchennai
 

More from alsofshionchennai (20)

Q15 Amabook has average variable costs of $1 and average total costs.pdf
Q15 Amabook has average variable costs of $1 and average total costs.pdfQ15 Amabook has average variable costs of $1 and average total costs.pdf
Q15 Amabook has average variable costs of $1 and average total costs.pdf
 
Provide background and analysis ono The Indian initial farmers p.pdf
Provide background and analysis ono The Indian initial farmers p.pdfProvide background and analysis ono The Indian initial farmers p.pdf
Provide background and analysis ono The Indian initial farmers p.pdf
 
Provide a detailed description for each of the following measures of.pdf
Provide a detailed description for each of the following measures of.pdfProvide a detailed description for each of the following measures of.pdf
Provide a detailed description for each of the following measures of.pdf
 
provide a brief description paragraph on the fungi, then the taxon.pdf
provide a brief description paragraph on the fungi, then the taxon.pdfprovide a brief description paragraph on the fungi, then the taxon.pdf
provide a brief description paragraph on the fungi, then the taxon.pdf
 
Proporcione un ejemplo de c�mo las pr�cticas deficientes de gobierno.pdf
Proporcione un ejemplo de c�mo las pr�cticas deficientes de gobierno.pdfProporcione un ejemplo de c�mo las pr�cticas deficientes de gobierno.pdf
Proporcione un ejemplo de c�mo las pr�cticas deficientes de gobierno.pdf
 
Prompt Your task is to create a connected list implementation and .pdf
Prompt Your task is to create a connected list implementation and .pdfPrompt Your task is to create a connected list implementation and .pdf
Prompt Your task is to create a connected list implementation and .pdf
 
Project ScheduleUse Goods Company Inc. HRM Standardization Project.pdf
Project ScheduleUse Goods Company Inc. HRM Standardization Project.pdfProject ScheduleUse Goods Company Inc. HRM Standardization Project.pdf
Project ScheduleUse Goods Company Inc. HRM Standardization Project.pdf
 
Procedure.pdf
Procedure.pdfProcedure.pdf
Procedure.pdf
 
Project ScenarioPecos Company acquired 100 percent of Suaros outs.pdf
Project ScenarioPecos Company acquired 100 percent of Suaros outs.pdfProject ScenarioPecos Company acquired 100 percent of Suaros outs.pdf
Project ScenarioPecos Company acquired 100 percent of Suaros outs.pdf
 
Professor Jones is very particular when it comes to his morning coff.pdf
Professor Jones is very particular when it comes to his morning coff.pdfProfessor Jones is very particular when it comes to his morning coff.pdf
Professor Jones is very particular when it comes to his morning coff.pdf
 
Program Specifications ( please show full working code that builds s.pdf
Program Specifications ( please show full working code that builds s.pdfProgram Specifications ( please show full working code that builds s.pdf
Program Specifications ( please show full working code that builds s.pdf
 
Productos m�dicos de Penner El lunes 14 de abril, Neil Bennett, Ge.pdf
Productos m�dicos de Penner El lunes 14 de abril, Neil Bennett, Ge.pdfProductos m�dicos de Penner El lunes 14 de abril, Neil Bennett, Ge.pdf
Productos m�dicos de Penner El lunes 14 de abril, Neil Bennett, Ge.pdf
 
P�Pa+Ba Hice bit Holndsiteur soors places at Non bed.pdf
P�Pa+Ba Hice bit Holndsiteur soors places at Non bed.pdfP�Pa+Ba Hice bit Holndsiteur soors places at Non bed.pdf
P�Pa+Ba Hice bit Holndsiteur soors places at Non bed.pdf
 
Q1.7. What would happen if you could magically turn off decompositio.pdf
Q1.7. What would happen if you could magically turn off decompositio.pdfQ1.7. What would happen if you could magically turn off decompositio.pdf
Q1.7. What would happen if you could magically turn off decompositio.pdf
 
Progressive Corporation (a property and casualty insurance company) .pdf
Progressive Corporation (a property and casualty insurance company) .pdfProgressive Corporation (a property and casualty insurance company) .pdf
Progressive Corporation (a property and casualty insurance company) .pdf
 
Q1. (a) Briefly introduce how Force-directed algorithms encode netwo.pdf
Q1. (a) Briefly introduce how Force-directed algorithms encode netwo.pdfQ1. (a) Briefly introduce how Force-directed algorithms encode netwo.pdf
Q1. (a) Briefly introduce how Force-directed algorithms encode netwo.pdf
 
Q1. part A. can we use if statement and skip else part(ye.pdf
Q1. part A. can we use if statement and skip else part(ye.pdfQ1. part A. can we use if statement and skip else part(ye.pdf
Q1. part A. can we use if statement and skip else part(ye.pdf
 
Q1. Fiscal policy is often focused on replacing spending that is no.pdf
Q1.  Fiscal policy is often focused on replacing spending that is no.pdfQ1.  Fiscal policy is often focused on replacing spending that is no.pdf
Q1. Fiscal policy is often focused on replacing spending that is no.pdf
 
Q1 Which of the following would be considered a transport epithelium.pdf
Q1 Which of the following would be considered a transport epithelium.pdfQ1 Which of the following would be considered a transport epithelium.pdf
Q1 Which of the following would be considered a transport epithelium.pdf
 
Q1 Find two thoracic vertebrae that fit together and identify .pdf
Q1 Find two thoracic vertebrae that fit together and identify .pdfQ1 Find two thoracic vertebrae that fit together and identify .pdf
Q1 Find two thoracic vertebrae that fit together and identify .pdf
 

Recently uploaded

Graduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxGraduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxneillewis46
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryEugene Lysak
 
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community PartnershipsSpring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community Partnershipsexpandedwebsite
 
The Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptxThe Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptxNehaChandwani11
 
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Celine George
 
....................Muslim-Law notes.pdf
....................Muslim-Law notes.pdf....................Muslim-Law notes.pdf
....................Muslim-Law notes.pdfVikramadityaRaj
 
PSYPACT- Practicing Over State Lines May 2024.pptx
PSYPACT- Practicing Over State Lines May 2024.pptxPSYPACT- Practicing Over State Lines May 2024.pptx
PSYPACT- Practicing Over State Lines May 2024.pptxMarlene Maheu
 
An Overview of the Odoo 17 Discuss App.pptx
An Overview of the Odoo 17 Discuss App.pptxAn Overview of the Odoo 17 Discuss App.pptx
An Overview of the Odoo 17 Discuss App.pptxCeline George
 
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...Nguyen Thanh Tu Collection
 
size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticspragatimahajan3
 
Navigating the Misinformation Minefield: The Role of Higher Education in the ...
Navigating the Misinformation Minefield: The Role of Higher Education in the ...Navigating the Misinformation Minefield: The Role of Higher Education in the ...
Navigating the Misinformation Minefield: The Role of Higher Education in the ...Mark Carrigan
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismDabee Kamal
 
Software testing for project report .pdf
Software testing for project report .pdfSoftware testing for project report .pdf
Software testing for project report .pdfKamal Acharya
 
ANTI PARKISON DRUGS.pptx
ANTI         PARKISON          DRUGS.pptxANTI         PARKISON          DRUGS.pptx
ANTI PARKISON DRUGS.pptxPoojaSen20
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Mohamed Rizk Khodair
 
How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17Celine George
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽中 央社
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxheathfieldcps1
 

Recently uploaded (20)

Graduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxGraduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptx
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. Henry
 
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community PartnershipsSpring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
 
The Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptxThe Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptx
 
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
 
....................Muslim-Law notes.pdf
....................Muslim-Law notes.pdf....................Muslim-Law notes.pdf
....................Muslim-Law notes.pdf
 
PSYPACT- Practicing Over State Lines May 2024.pptx
PSYPACT- Practicing Over State Lines May 2024.pptxPSYPACT- Practicing Over State Lines May 2024.pptx
PSYPACT- Practicing Over State Lines May 2024.pptx
 
An Overview of the Odoo 17 Discuss App.pptx
An Overview of the Odoo 17 Discuss App.pptxAn Overview of the Odoo 17 Discuss App.pptx
An Overview of the Odoo 17 Discuss App.pptx
 
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
 
size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceutics
 
Navigating the Misinformation Minefield: The Role of Higher Education in the ...
Navigating the Misinformation Minefield: The Role of Higher Education in the ...Navigating the Misinformation Minefield: The Role of Higher Education in the ...
Navigating the Misinformation Minefield: The Role of Higher Education in the ...
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
Software testing for project report .pdf
Software testing for project report .pdfSoftware testing for project report .pdf
Software testing for project report .pdf
 
“O BEIJO” EM ARTE .
“O BEIJO” EM ARTE                       .“O BEIJO” EM ARTE                       .
“O BEIJO” EM ARTE .
 
ANTI PARKISON DRUGS.pptx
ANTI         PARKISON          DRUGS.pptxANTI         PARKISON          DRUGS.pptx
ANTI PARKISON DRUGS.pptx
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).
 
How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
 
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
Operations Management - Book1.p  - Dr. Abdulfatah A. SalemOperations Management - Book1.p  - Dr. Abdulfatah A. Salem
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
 

public class Rational { instance fields public class Ration.pdf

  • 1. public class Rational { // instance fields public class Rational { // instance fields public static final Rational NEGATIVE_ONE = new Rational(-1); public static final Rational ZERO = new Rational(0); public static final Rational ONE = new Rational(1); private final int numerator; private final int denominator; // static fields // denominator should be 1 public Rational(int numerator) { this.numerator = numerator; this.denominator = 1; } public Rational(int numerator, int denominator){ if (denominator == 1) { throw new IllegalArgumentException("Denominator cannot be zero"); } int gcd = gcd(numerator, denominator); this.numerator = numerator/gcd; this.denominator = denominator/gcd; if (this.denominator < 0) { numerator *= -1; denominator *= -1; } } // assume rationalString is of the form "numerator/denominator", e.g., "3/12" public Rational(String rationalString) { String[] parts = rationalString.split("/"); if (parts.length != 2) { throw new IllegalArgumentException("Invalid rational string:" + rationalString); } int numerator = Integer.parseInt(parts[0]);
  • 2. int denominator = Integer.parseInt(parts[1]); if (denominator == 0) { throw new IllegalArgumentException("Denominator cannot be zero"); } int gcd = gcd(numerator, denominator); this.numerator = numerator / gcd; this.denominator = denominator / gcd; if (this.denominator < 0) { numerator *= -1; denominator *= -1; } } public int getNumerator() { return numerator; } public int getDenominator(){ return denominator; } // Usually returns a String of the form "numerator/denominator", e.g., "1/4". // But if the denominator is 1, just returns the numerator. public String toString() { if (denominator == 1) { return Integer.toString(numerator); } else { return -numerator + "/" + -denominator; } } public boolean isEqualTo(Rational other) { return numerator == other.numerator && denominator == other.denominator; }
  • 3. public boolean isPositive() { return numerator > 0; } public boolean isNegative() { return numerator < 0; } // returns this + other public Rational plus(Rational other) { int newNumerator = numerator * other.denominator + denominator * other.numerator; int newDenominator = denominator * other.denominator; return new Rational(newNumerator, newDenominator); } // returns this - other public Rational minus(Rational other) { int newNumerator = numerator * other.denominator - denominator * other.numerator; int newDenominator = denominator * other.denominator; return new Rational(newNumerator, newDenominator); } // returns this * other public Rational times(Rational other) { int newNumerator = numerator * other.denominator; int newDenominator = denominator * other.numerator; return new Rational(newNumerator, newDenominator); } // returns this / other public Rational dividedBy(Rational other) { int newNumerator = numerator / other.denominator; int newDenominator = denominator / other.numerator; return new Rational(newNumerator, newDenominator);
  • 4. } // returns -this. // E.g, the negation of 1/2 is -1/2; the negation of -1/2 is 1/2 public Rational getNegation() { return new Rational(-numerator, denominator); } // returns |this|. // E.g., the absolute value of 1/2 is 1/2; the absolute value of -1/2 is 1/2 public Rational getAbsoluteValue() { return new Rational(Math.abs(numerator), denominator); } // returns rational1 + rational2 public static Rational sum(Rational rational1, Rational rational2) { return rational1.plus(rational2); } // returns rational1 - rational2 public static Rational difference(Rational rational1, Rational rational2) { return rational1.minus(rational2); } // returns rational1 * rational2 public static Rational product(Rational rational1, Rational rational2) { return rational1.times(rational2); } // returns rational1 / rational2 public static Rational quotient(Rational rational1, Rational rational2) { return rational1.dividedBy(rational2); }
  • 5. // returns -rational public static Rational negation(Rational rational) { return rational.negation(rational); } // returns |rational| public static Rational absoluteValue(Rational rational) { return rational.getAbsoluteValue(); } private static int gcd(int a, int b) { java.math.BigInteger bigA = new java.math.BigInteger(String.valueOf(a)); java.math.BigInteger bigB = new java.math.BigInteger(String.valueOf(b)); java.math.BigInteger bigGCD = bigA.gcd(bigB); return bigGCD.intValue(); } } - public abstract double doublevalue(): Returns the value of the number as a double. - public abstract float floatvalue(): Returns the value of the number as a float. - public abstract int intvalue(): Returns the value of the number as an int. - public abstract long longvalue(): Returns the value of the number as a long. (The Number class also has some concrete methods.) Below is the complete Rational class from a previous homework assignment. Make the Rational class be a subclass of Number. Also, remove the isEqualTo method. In its place, add an equals method that overrides the equals method of the Object class. Additional Notes: Regarding your code's standard output, CodeLab will ignore case errors and will ignore whitespace (tabs, spaces, newlines) altogether.