Tuesday, November 4, 2014

Rational Numbers Implementation in Java

CODE:

import java.io.*;
import java.util.*;

public class rat
{
/*
*members Numerator,Denominator
*/
int numerator;
int denominator;
/*
*Constructor
*/
public rat(int a,int b)
{
numerator=a;
denominator=b;
}
/*
*Additon method
*@param two rational numbers
*@return sum
*/

public void add(rat a,rat b)
{
if(a.denominator==b.denominator)
{
numerator=a.numerator+b.numerator;
denominator=a.denominator;
}
else
{
numerator=((a.numerator*b.denominator)+(b.numerator*a.denominator));
denominator=(a.denominator*b.denominator);
}
}
/*
*Subtraction method
*@param two rational numbers
*@return difference

*/

public void sub(rat a,rat b)
{
if(a.denominator==b.denominator)
{
numerator=a.numerator-b.numerator;
denominator=a.denominator;
}
else
{
numerator=((a.numerator*b.denominator)-(b.numerator*a.denominator));
denominator=(a.denominator*b.denominator);
}
}

/*
*Multiplication method
*@param two rational numbers
*@return multiple
*/
public void mul(rat a,rat b)
{
numerator=a.numerator*b.numerator;
denominator=a.denominator*b.denominator;
}

/*
*Division method
*@param two rational numbers
*@return quotient
*/
public void div(rat a,rat b)
{
int temp;
temp=b.denominator;
b.denominator=b.numerator;
b.numerator=temp;
numerator=a.numerator*b.numerator;
denominator=a.denominator*b.denominator;
}

/*
*Simplification method
*@param one rational numbers
*@return simplified sum
*/
public void simplify()
{
for(int i=1;i<=10;i++)
if((numerator%i==0)&&(denominator%i==0))
{
numerator/=i;
denominator/=i;
}
}
}

/*
*Main class
*/
class rational
{

/*
*Main function
*@param nothing
*@return nothing :P
*/
public static void main(String args[])
{
Scanner s=new Scanner(System.in);
System.out.println("enter the first rational number");
int n=s.nextInt();
int d=s.nextInt();
rat r1=new rat(n,d);
System.out.println("enter the second rational number");
int n1=s.nextInt();
int d1=s.nextInt();
rat r2=new rat(n1,d1);
rat r3=new rat(0,0);
int ch;
do
{
/*
*shows menu
*/ System.out.println("Enter the choice \n1.addition \n2.subtraction \n3.Multiplication \n4.division\n5.exit");
ch=s.nextInt();
switch(ch)
{
case 1:
r3.add(r1,r2);
r3.simplify();
System.out.println("additon result is"+r3.numerator+"/"+r3.denominator);
break;
case 2:
r3.sub(r1,r2);
r3.simplify();
System.out.println("subtraction result is"+r3.numerator+"/"+r3.denominator);
break;
case 3:
r3.mul(r1,r2);
r3.simplify();
System.out.println("multiplication result is"+r3.numerator+"/"+r3.denominator);
break;
case 4:
r3.div(r1,r2);
r3.simplify();
System.out.println("divison result is"+r3.numerator+"/"+r3.denominator);

break;
case 5:
System.exit(0);
break;
}
}while(ch!=6);
}

}

Input & Output:


Enter n and d of rational number 1: 2
4
Enter n and d of rational number 1: 2
4
Enter choice 1.Add 2.Subtract 3.Multiply 4.Divide 5.Exit: 1
Sum : 1
Enter choice 1.Add 2.Subtract 3.Multiply 4.Divide 5.Exit: 2
Diff: 0
Enter choice 1.Add 2.Subtract 3.Multiply 4.Divide 5.Exit: 3
Prod: ¼
Enter choice 1.Add 2.Subtract 3.Multiply 4.Divide 5.Exit: 4
Quo: 1
Enter choice 1.Add 2.Subtract 3.Multiply 4.Divide 5.Exit: 5


No comments:

Post a Comment