• API
• FAQ
• Tools
• Archive
SHARE
TWEET # thingoxcccc a guest Nov 17th, 2019 62 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. // Lab09bvst.java
2. // The Rational Class Program II
3. // This is the student, starting version of the Lab09b assignment.
4.
5.
6. import java.util.Scanner;
7.
8.
9. public class RationalLabC
10. {
11.     private static int num1, den1;   // numerator and denominator of the 1st rational number
12.     private static int num2, den2;   // numerator and denominator of the 2nd rational number
13.
14.     public static void main (String args[])
15.     {
16.         enterData();
17.
18.         Rational r1 = new Rational(num1,den1);
19.         Rational r2 = new Rational(num2,den2);
20.         Rational r3 = new Rational();
21.
22.
23.       r3.multiply(r1,r2);
24.         System.out.println("\n\n" + r1.getOriginal() + " * " + r2.getOriginal() + "  =  " + r3.getReduced());
25.         r3.divide(r1,r2);
26.       System.out.println("\n" + r1.getOriginal() + " / " + r2.getOriginal() + "  =  " + r3.getReduced());
27.
28. //      100 Point Version Only
30. //      System.out.println("\n" + r1.getOriginal() + " + " + r2.getOriginal() + "  =  " + r3.getReduced());
31. //      r3.subtract(r1,r2);
32. //      System.out.println("\n" + r1.getOriginal() + " - " + r2.getOriginal() + "  =  " + r3.getReduced());
33.         System.out.println();
34.     }
35.
36.     public static void enterData()
37.     {
38.         Scanner input = new Scanner(System.in);
39.         System.out.print("\nEnter the 1st numerator ----> ");
40.         num1 = input.nextInt();
41.         System.out.print("\nEnter the 1st denominator --> ");
42.         den1 = input.nextInt();
43.         System.out.print("\nEnter the 2nd numerator ----> ");
44.         num2 = input.nextInt();
45.         System.out.print("\nEnter the 2nd denominator --> ");
46.         den2 = input.nextInt();
47.     }
48. }
49.
50.
51. class Rational
52. {
53.     private int firstNum;      // entered numerator
54.     private int firstDen;      // entered denominator
55.     private int reducedNum;     // reduced numerator
56.     private int reducedDen;     // reduced denominator
57.    private int gcf;
58.    public Rational()
59.    {
60.       firstNum=0;
61.       firstDen=0;
62.    }
63.    public Rational(int x,int y)
64.    {
65.       firstNum=x;
66.       firstDen=y;
67.    }
68.    public void multiply(Rational x, Rational y)
69.    {
70.    firstNum = x.firstNum*y.firstNum;
71.    firstDen = x.firstDen*y.firstDen;
72.    reduce();
73.    }
74.    public void divide(Rational x, Rational y)
75.    {
76.    firstNum = x.firstNum*y.firstDen;
77.    firstDen = x.firstDen*y.firstNum;
78.    }
79.     public String getOriginal()
80.    {
81.    return String.valueOf(firstNum) + "/" + String.valueOf(firstDen);
82.    }
83.    private void reduce()
84.    {
85.    getGCF(firstNum, firstDen);
86.    firstNum/=gcf;
87.    firstDen/=gcf;
88.    }
89.
90.    public String getReduced()
91.    {
92.    getGCF(firstNum,firstDen);
93.    return String.valueOf(firstNum/gcf)+"/"+String.valueOf(firstDen/gcf);
94.    }
95.
96.     public void getGCF(int n1,int n2)
97.     {
98.         int rem = 0;
99.         do
100.         {
101.             rem = n1 % n2;
102.             if (rem == 0)
103.                 gcf = n2;
104.             else
105.             {
106.                 n1 = n2;
107.                 n2 = rem;
108.             }
109.         }
110.         while (rem != 0);
111.     }
112.
113.
114. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.
Not a member of Pastebin yet?