概述
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("------------------------------------------------");
}
}
最后
以上就是激动皮带为你收集整理的java类j进行分数运算_java第二周作业--实现分数的四则运算的全部内容,希望文章能够帮你解决java类j进行分数运算_java第二周作业--实现分数的四则运算所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复