SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
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.

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdfssuserdda66b
 

Dernier (20)

Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 

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.