SlideShare a Scribd company logo
Java Program
public class Fraction {
//instance variables
int num;
int den;
//default construtcor
Fraction()
{
num=0;
den=1;
}
//parametrized constructor
Fraction(int n,int d)
{
num=n;
den=d;
}
//print fraction object
public void print()
{
System.out.println(num+"/"+den);
}
//return double value of fraction
public void printAsDouble()
{
try
{
double div=(double)num/(double)den;
System.out.println(div);
}
catch(ArithmeticException e)
{
System.out.println("infinity");
}
catch(Exception e)
{
System.out.println(e);
}
}
//add two fractions
public Fraction add(Fraction param)
{
int tnum=(this.num *param.den)+(this.den*param.num);
int tden=this.den*param.den;
this.num=tnum;
this.den=tden;
return this;
}
//multiply two fractions
public Fraction multiply(Fraction param)
{
int tnum=(this.num *param.num);
int tden=this.den*param.den;
this.num=tnum;
this.den=tden;
return this;
}
}
public static void main(String[] args)
{
Scanner stdIn = new Scanner(System.in);
Fraction c, d, x; // Fraction objects
System.out.println("Enter numerator; then denominator.");
c = new Fraction(stdIn.nextInt(), stdIn.nextInt());
c.print();
System.out.println("Enter numerator; then denominator.");
d = new Fraction(stdIn.nextInt(), stdIn.nextInt());
d.print();
x = new Fraction(); // create a fraction for number 0
System.out.println("Sum:");
x.add(c).add(d);
x.print();
x.printAsDouble();
x = new Fraction(1, 1); // create a fraction for number 1
System.out.println("Product:");
x.multiply(c).multiply(d);
x.print();
x.printAsDouble();
System.out.println("Enter numerator; then denominator.");
x = new Fraction(stdIn.nextInt(), stdIn.nextInt());
x.printAsDouble();
} //end main Modify the code so that it can handle negative numerators and negative
denominators, and provide a helping method that performs fraction reduction. Sample session
using negative numbers and reduction Enter numerator, then denominator. -5 -8 5/8 Enter
numerator, then denominator. 4 -10 2/5 Sum: 9/40 0.225 Product: 0.25 Enter numerator, then
denominator. 0 -0 indeterminate
Solution
//Fraction.java
import java.util.Scanner;
public class Fraction {
//instance variables
int num;
int den;
//default construtcor
Fraction()
{
num=0;
den=1;
}
// greatest common divisor to reduce fraction
int gcd(int n1, int n2)
{
if (n2 != 0)
return gcd(n2, n1 % n2);
else
return n1;
}
//parametrized constructor
Fraction(int n,int d)
{
num=n;
den=d;
if(d == 0)
{
System.out.println("indeterminate");
System.exit(1);
}
int hcf = gcd(num,den);
num = num/hcf;
den = den/hcf;
}
//print fraction object
public void print()
{
if( (num < 0 && den > 0))
System.out.println(num+"/"+den);
else if((num > 0 && den < 0))
System.out.println("-" + num+"/"+ (-1*den));
else if(num < 0 && den < 0)
System.out.println( (-1*num)+"/"+ (-1*den));
else
System.out.println(num+"/"+den);
}
//return double value of fraction
public void printAsDouble()
{
try
{
double div=(double)num/(double)den;
System.out.println(div);
}
catch(ArithmeticException e)
{
System.out.println("infinity");
}
catch(Exception e)
{
System.out.println(e);
}
}
//add two fractions
public Fraction add(Fraction param)
{
int tnum=(this.num *param.den)+(this.den*param.num);
int tden=this.den*param.den;
this.num=tnum;
this.den=tden;
// simplify fraction
int hcf = gcd(num,den);
num = num/hcf;
den = den/hcf;
return this;
}
//multiply two fractions
public Fraction multiply(Fraction param)
{
int tnum=(this.num *param.num);
int tden=this.den*param.den;
this.num=tnum;
this.den=tden;
// simplify fraction
int hcf = gcd(num,den);
num = num/hcf;
den = den/hcf;
return this;
}
public static void main(String[] args)
{
Scanner stdIn = new Scanner(System.in);
Fraction c, d, x; // Fraction objects
System.out.println("Enter numerator; then denominator.");
c = new Fraction(stdIn.nextInt(), stdIn.nextInt());
c.print();
System.out.println("Enter numerator; then denominator.");
d = new Fraction(stdIn.nextInt(), stdIn.nextInt());
d.print();
x = new Fraction(); // create a fraction for number 0
System.out.println("Sum:");
x.add(c).add(d);
x.print();
x.printAsDouble();
x = new Fraction(1, 1); // create a fraction for number 1
System.out.println("Product:");
x.multiply(c).multiply(d);
x.print();
x.printAsDouble();
System.out.println("Enter numerator; then denominator.");
x = new Fraction(stdIn.nextInt(), stdIn.nextInt());
x.printAsDouble();
} //end main
}
/*
output:
Enter numerator; then denominator.
-5
-8
5/8
Enter numerator; then denominator.
4
-10
-2/5
Sum:
9/40
0.225
Product:
-1/4
-0.25
Enter numerator; then denominator.
0
-0
indeterminate
*/

More Related Content

PDF
AnswerNote Provided code shows several bugs, hence I implemented.pdf
PDF
PROGRAM 2 – Fraction Class Problem For this programming as.pdf
DOCX
Import java
PDF
Interfacepackage PJ1; public interface SimpleFractionInterface.pdf
DOC
5 Rmi Print
DOCX
PDF
Simple 27 Java Program on basic java syntax
DOCX
Example of JAVA Program
AnswerNote Provided code shows several bugs, hence I implemented.pdf
PROGRAM 2 – Fraction Class Problem For this programming as.pdf
Import java
Interfacepackage PJ1; public interface SimpleFractionInterface.pdf
5 Rmi Print
Simple 27 Java Program on basic java syntax
Example of JAVA Program

Similar to Java Programpublic class Fraction {   instance variablesin.pdf (20)

DOCX
PDF
Simple Java Program for beginner with easy method.pdf
PDF
Chainer-Compiler 動かしてみた
PDF
import java.util.Scanner;public class Fraction {   instan.pdf
PPT
Cquestions
PDF
C questions
PDF
FileName EX06_1java Programmer import ja.pdf
PPTX
Section1-Functiiiiiiiiiiiiiooooooooooooooooions.pptx
PDF
public class Point {   Insert your name here    private dou.pdf
DOCX
Assignment no39
PDF
import java.util.Scanner;public class HornersPolynomial {   .pdf
PDF
ANSimport java.util.Scanner; class Bina_node { Bina_node .pdf
PDF
Help I keep getting the same error when running a code. Below is the.pdf
PDF
Tools.cpp
PDF
VTU DSA Lab Manual
PDF
C++ programs
PDF
Keep getting a null pointer exception for some odd reasonim creati.pdf
PDF
C++ AssignmentPlease read all the requirements and the overloading.pdf
PDF
C# Program. Create a Windows application that has the functionality .pdf
PPTX
L25-L26-Parameter passing techniques.pptx
Simple Java Program for beginner with easy method.pdf
Chainer-Compiler 動かしてみた
import java.util.Scanner;public class Fraction {   instan.pdf
Cquestions
C questions
FileName EX06_1java Programmer import ja.pdf
Section1-Functiiiiiiiiiiiiiooooooooooooooooions.pptx
public class Point {   Insert your name here    private dou.pdf
Assignment no39
import java.util.Scanner;public class HornersPolynomial {   .pdf
ANSimport java.util.Scanner; class Bina_node { Bina_node .pdf
Help I keep getting the same error when running a code. Below is the.pdf
Tools.cpp
VTU DSA Lab Manual
C++ programs
Keep getting a null pointer exception for some odd reasonim creati.pdf
C++ AssignmentPlease read all the requirements and the overloading.pdf
C# Program. Create a Windows application that has the functionality .pdf
L25-L26-Parameter passing techniques.pptx
Ad

More from aroramobiles1 (20)

PDF
Please help with this JAVA Assignment and show output if you can ple.pdf
PDF
ooo T-Mobile LTE 820 PM courses.apexlearning.com Question 34 of 42 M.pdf
PDF
ood evening people. Ive been working on this code that sends a bur.pdf
PDF
Multiply. 0 072(10,000) Multiply. 317.02 middot 0.01 Write the nu.pdf
PDF
Mitochondria and chloroplasts have small genomes becauseQuestion .pdf
PDF
Meta-population theory and island biogeography theory are similar in .pdf
PDF
Kim’s revenue one week ago were $251 less than three times Janes rev.pdf
PDF
I am having a hard time with this problem, can you help me #5. .pdf
PDF
How has television influenced the political process, specifically th.pdf
PDF
HISTORY Why is it called American revolutionSolutionThe .pdf
PDF
Explain what #include does in a source codeSolution Th.pdf
PDF
dNdS ratios reflect patterns of genetic divergence that have accumu.pdf
PDF
Discuss the complexity of problem definition and the importance of a.pdf
PDF
Define the following terms i. Hydraulic gradientii. Seepageiii. Cr.pdf
PDF
Describe how the principle of consistency can be applied to interfac.pdf
PDF
Chapter 8 was tough for me. When determining the lumber needs of the.pdf
PDF
{public int idata;data item (key) public double ddata;data item p.pdf
PDF
You have been given a file that contains fields relating to CD infor.pdf
PDF
Write a java method named flipLines that accepts as its parameter a .pdf
PDF
Which of the following isare true regarding router operationA. R.pdf
Please help with this JAVA Assignment and show output if you can ple.pdf
ooo T-Mobile LTE 820 PM courses.apexlearning.com Question 34 of 42 M.pdf
ood evening people. Ive been working on this code that sends a bur.pdf
Multiply. 0 072(10,000) Multiply. 317.02 middot 0.01 Write the nu.pdf
Mitochondria and chloroplasts have small genomes becauseQuestion .pdf
Meta-population theory and island biogeography theory are similar in .pdf
Kim’s revenue one week ago were $251 less than three times Janes rev.pdf
I am having a hard time with this problem, can you help me #5. .pdf
How has television influenced the political process, specifically th.pdf
HISTORY Why is it called American revolutionSolutionThe .pdf
Explain what #include does in a source codeSolution Th.pdf
dNdS ratios reflect patterns of genetic divergence that have accumu.pdf
Discuss the complexity of problem definition and the importance of a.pdf
Define the following terms i. Hydraulic gradientii. Seepageiii. Cr.pdf
Describe how the principle of consistency can be applied to interfac.pdf
Chapter 8 was tough for me. When determining the lumber needs of the.pdf
{public int idata;data item (key) public double ddata;data item p.pdf
You have been given a file that contains fields relating to CD infor.pdf
Write a java method named flipLines that accepts as its parameter a .pdf
Which of the following isare true regarding router operationA. R.pdf
Ad

Recently uploaded (20)

PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
master seminar digital applications in india
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Lesson notes of climatology university.
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
GDM (1) (1).pptx small presentation for students
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
master seminar digital applications in india
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
2.FourierTransform-ShortQuestionswithAnswers.pdf
Final Presentation General Medicine 03-08-2024.pptx
Complications of Minimal Access Surgery at WLH
Lesson notes of climatology university.
Anesthesia in Laparoscopic Surgery in India
human mycosis Human fungal infections are called human mycosis..pptx
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
GDM (1) (1).pptx small presentation for students
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx

Java Programpublic class Fraction {   instance variablesin.pdf

  • 1. Java Program public class Fraction { //instance variables int num; int den; //default construtcor Fraction() { num=0; den=1; } //parametrized constructor Fraction(int n,int d) { num=n; den=d; } //print fraction object public void print() { System.out.println(num+"/"+den); } //return double value of fraction public void printAsDouble() { try { double div=(double)num/(double)den; System.out.println(div); }
  • 2. catch(ArithmeticException e) { System.out.println("infinity"); } catch(Exception e) { System.out.println(e); } } //add two fractions public Fraction add(Fraction param) { int tnum=(this.num *param.den)+(this.den*param.num); int tden=this.den*param.den; this.num=tnum; this.den=tden; return this; } //multiply two fractions public Fraction multiply(Fraction param) { int tnum=(this.num *param.num); int tden=this.den*param.den; this.num=tnum; this.den=tden; return this; } } public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); Fraction c, d, x; // Fraction objects
  • 3. System.out.println("Enter numerator; then denominator."); c = new Fraction(stdIn.nextInt(), stdIn.nextInt()); c.print(); System.out.println("Enter numerator; then denominator."); d = new Fraction(stdIn.nextInt(), stdIn.nextInt()); d.print(); x = new Fraction(); // create a fraction for number 0 System.out.println("Sum:"); x.add(c).add(d); x.print(); x.printAsDouble(); x = new Fraction(1, 1); // create a fraction for number 1 System.out.println("Product:"); x.multiply(c).multiply(d); x.print(); x.printAsDouble(); System.out.println("Enter numerator; then denominator."); x = new Fraction(stdIn.nextInt(), stdIn.nextInt()); x.printAsDouble(); } //end main Modify the code so that it can handle negative numerators and negative denominators, and provide a helping method that performs fraction reduction. Sample session using negative numbers and reduction Enter numerator, then denominator. -5 -8 5/8 Enter numerator, then denominator. 4 -10 2/5 Sum: 9/40 0.225 Product: 0.25 Enter numerator, then denominator. 0 -0 indeterminate Solution //Fraction.java import java.util.Scanner; public class Fraction { //instance variables int num; int den; //default construtcor Fraction()
  • 4. { num=0; den=1; } // greatest common divisor to reduce fraction int gcd(int n1, int n2) { if (n2 != 0) return gcd(n2, n1 % n2); else return n1; } //parametrized constructor Fraction(int n,int d) { num=n; den=d; if(d == 0) { System.out.println("indeterminate"); System.exit(1); } int hcf = gcd(num,den); num = num/hcf; den = den/hcf; } //print fraction object public void print() { if( (num < 0 && den > 0)) System.out.println(num+"/"+den); else if((num > 0 && den < 0)) System.out.println("-" + num+"/"+ (-1*den)); else if(num < 0 && den < 0) System.out.println( (-1*num)+"/"+ (-1*den));
  • 5. else System.out.println(num+"/"+den); } //return double value of fraction public void printAsDouble() { try { double div=(double)num/(double)den; System.out.println(div); } catch(ArithmeticException e) { System.out.println("infinity"); } catch(Exception e) { System.out.println(e); } } //add two fractions public Fraction add(Fraction param) { int tnum=(this.num *param.den)+(this.den*param.num); int tden=this.den*param.den; this.num=tnum; this.den=tden; // simplify fraction int hcf = gcd(num,den); num = num/hcf; den = den/hcf; return this; } //multiply two fractions public Fraction multiply(Fraction param) {
  • 6. int tnum=(this.num *param.num); int tden=this.den*param.den; this.num=tnum; this.den=tden; // simplify fraction int hcf = gcd(num,den); num = num/hcf; den = den/hcf; return this; } public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); Fraction c, d, x; // Fraction objects System.out.println("Enter numerator; then denominator."); c = new Fraction(stdIn.nextInt(), stdIn.nextInt()); c.print(); System.out.println("Enter numerator; then denominator."); d = new Fraction(stdIn.nextInt(), stdIn.nextInt()); d.print(); x = new Fraction(); // create a fraction for number 0 System.out.println("Sum:"); x.add(c).add(d); x.print(); x.printAsDouble(); x = new Fraction(1, 1); // create a fraction for number 1 System.out.println("Product:"); x.multiply(c).multiply(d); x.print(); x.printAsDouble(); System.out.println("Enter numerator; then denominator."); x = new Fraction(stdIn.nextInt(), stdIn.nextInt()); x.printAsDouble(); } //end main }
  • 7. /* output: Enter numerator; then denominator. -5 -8 5/8 Enter numerator; then denominator. 4 -10 -2/5 Sum: 9/40 0.225 Product: -1/4 -0.25 Enter numerator; then denominator. 0 -0 indeterminate */