您的位置:首页 > 编程语言 > Java开发

java第二周作业--实现分数的四则运算

2012-09-20 23:45 507 查看
3.在任务1的基础上实现分数的四则运算,即两个分数相减,相乘和相除,要考虑到各种边界情况。

package ou;
import java.util.*;
public class Gongys {

public static void main(String[] args) {

caidan cai=new caidan();
Scanner sca=new Scanner(System.in);
System.out.println("请输入选择:");
int  c=sca.nextInt();
switch(c)
{
case 1:jia();break;
case  2:jian();break;
case  3:cheng();break;
case  4:chu();break;
default :break;
}

}

public static void  jia()
{

Scanner sca=new Scanner(System.in);
System.out.println("请输入第一个数的分母分子m1,m4,");
double m1=sca.nextDouble();//分母
if(m1==0)
{
System.out.println("分母不能为0!");
}
double m4=sca.nextDouble();//
System.out.println("请输入第二个数的分母分子n1,n4,");
double n1=sca.nextDouble();
double n4=sca.nextDouble();
double a=GYS( m1, n1);
double  m2=(m1*n1)/a;
double m3,n3;//最小公倍数/m1,n1
m3=m2/m1;//得到分子的倍数
n3=m2/n1;
System.out.println("请输入");
double m6=n4*n3+m4*m3;
double b;
b=GYS( m6, m2);
System.out.println(m4+"/"+m1+"+"+n4+"/"+n1+"="+m6/b+"/"+m2/b);

}
public static void  jian()
{

Scanner sca=new Scanner(System.in);
System.out.println("请输入第一个数的分母分子m1,m4,");
double m1=sca.nextDouble();//分母
double m4=sca.nextDouble();//
if(m1==0)
{
System.out.println("分母不能为0!");
}
System.out.println("请输入第二个数的分母分子n1,n4,");
double n1=sca.nextDouble();
double n4=sca.nextDouble();
double a=GYS( m1, n1);
double  m2=(m1*n1)/a;
double m3,n3;//最小公倍数/m1,n1
m3=m2/m1;//得到分子的倍数
n3=m2/n1;
System.out.println("请输入");
double m6=m4*m3-n4*n3;
double b;
b=GYS( m6, m2);
System.out.println(b);
System.out.println(m4+"/"+m1+"-"+n4+"/"+n1+"="+m6/b+"/"+m2/b);

}
public static  void cheng()
{
Scanner sca=new Scanner(System.in);
System.out.println("请输入第一个数的分母分子m1,m4,");
double m1=sca.nextDouble();//分母
double m4=sca.nextDouble();//分子
if(m1==0)
{
System.out.println("分母不能为0!");
}
System.out.println("请输入第二个数的分母分子n1,n4,");
double n1=sca.nextDouble();//分母
double n4=sca.nextDouble();//分子
double  b= GYS( m1*n1, m4*n4);
double  m2,n2;
m2= (m1*n1)/b;
n2=(m4*n4)/b;
System.out.println(m4+"/"+m1+"乘以"+n1+"/"+n4+"="+n2+"/"+m2);

}
public static void  chu()
{
Scanner sca=new Scanner(System.in);
System.out.println("请输入第一个数的分母分子m1,m4,");
double m1=sca.nextDouble();//分母
double m4=sca.nextDouble();//分子
if(m1==0)
{
System.out.println("分母不能为0!");
}
System.out.println("请输入第二个数的分母分子n1,n4,");
double n1=sca.nextDouble();//分母
double n4=sca.nextDouble();//分子
double  b= GYS( m1*n4, m4*n1);
double  m2,n2;
m2= (m1*n4)/b;
n2=(m4*n1)/b;
System.out.println(m4+"/"+m1+"除以"+n1+"/"+n4+"="+n2+"/"+m2);

}
//求最大公约数
public static    double  GYS(double m,double n)
{
double temp=1;
while(temp!=0)
{
temp=m%n;
m=n;
n=temp;

}
return m;

}
}
class  XT
{
public XT()
{
Scanner sca=new Scanner(System.in);
System.out.println("请输入第一个数的分母分子m1,m4,");
double m1=sca.nextDouble();//分母
if(m1==0)
{

System.out.println("分母不能为0!");

}

double m4=sca.nextDouble();//
System.out.println("请输入第二个数的分母分子n1,n4,");
double n1=sca.nextDouble();

double n4=sca.nextDouble();

}
}
class   caidan
{
public caidan()
{
System.out.println("----------------------菜单----------------------");
System.out.println("                      1.分数相加");
System.out.println("                      2.分数相减");
System.out.println("                      3.分数相乘");
System.out.println("                      4.分数相除");
System.out.println("------------------------------------------------");

}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: