JAVA题目~分数类FractionExp03-4-创新互联

Exp03-设计一个分数类Fraction。

成都创新互联专注于洛扎网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供洛扎营销型网站建设,洛扎网站制作、洛扎网页设计、洛扎网站官网定制、成都小程序开发服务,打造洛扎网络公司原创品牌,更为您提供洛扎网站排名全网营销落地服务。成都创新互联公司专注于额敏网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供额敏营销型网站建设,额敏网站制作、额敏网页设计、额敏网站官网定制、小程序制作服务,打造额敏网络公司原创品牌,更为您提供额敏网站排名全网营销落地服务。创新互联公司专注于平利网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供平利营销型网站建设,平利网站制作、平利网页设计、平利网站官网定制、微信小程序定制开发服务,打造平利网络公司原创品牌,更为您提供平利网站排名全网营销落地服务。

【问题描述】设计一个分数类Fraction,包含分子与分母两个成员变量,包含计算分数加减乘除及约分的成员方法。为便于运算和比较,所有分数均以最简形式存储和输出(分子可以大于分母,但是分子和分母不能进一步约分;若分数为负,为方便处理,可约定分子为负,分母为正)。
在Fraction类中重写equales()方法判断两个分数是否相等,重写toString()方法将分数以最简结果形式输出。在TestFraction类的main()方法中定义两个分数对象f1和f2,分别输入其分子和分母,计算它们的和差积商,并判断它们是否相等。输入输出格式如样例所示,其中:红色文字为真正的程序输入,蓝色文字为输入提示。
【样例输入1】
3 9
3 8
【样例输出1】
Please enter fraction f1:
3 9
Please enter fraction f2:
3 8
1/3 + 3/8 = 17/24
1/3 - 3/8 = -1/24
1/3 * 3/8 = 1/8
1/3 / 3/8 = 8/9
1/3 equals 3/8 ? false

【样例输入2】
0 2
3 9
【样例输出2】
Please enter fraction f1:
0 2
Please enter fraction f2:
3 9
0 + 1/3 = 1/3
0 - 1/3 = -1/3
0 * 1/3 = 0
0 / 1/3 = 0
0 equals 1/3 ? false

【样例输入3】
1 2
0 3
【样例输出3】
Please enter fraction f1:
1 2
Please enter fraction f2:
0 3
Cannot be divided by zero!

【样例输入4】
1 2
3 0
【样例输出4】
Please enter fraction f1:
1 2
Please enter fraction f2:
3 0
The denominator cannot be zero!

【样例输入5】
1 2
4 8
【样例输出5】
Please enter fraction f1:
1 2
Please enter fraction f2:
4 8
1/2 + 1/2 = 1
1/2 - 1/2 = 0
1/2 * 1/2 = 1/4
1/2 / 1/2 = 1
1/2 equals 1/2 ? true

【样例输入6】
-1 2
4 -8
【样例输出6】
Please enter fraction f1:
-1 2
Please enter fraction f2:
4 -8
-1/2 + -1/2 = -1/1
-1/2 - -1/2 = 0
-1/2 * -1/2 = 1/4
-1/2 / -1/2 = 1
-1/2 equals -1/2 ? true

import java.util.Objects;
import java.util.Scanner;

class Fraction
{
	private int nume ;
	private int deno;
	public Fraction(int nume,int deno)
	{
		super();
		this.nume=nume;
		this.deno=deno;
	}
	public Fraction()
	{
		this.nume=0;
		this.deno=1;
	}
	Fraction add(Fraction fo)
	{
		Fraction ret=new Fraction();
		ret.nume=this.nume*fo.deno+this.deno*fo.nume;
		ret.deno=this.deno*fo.deno;
		ret.reduce();
		return ret;
		
	}
	Fraction sub(Fraction fo) 
	{
		Fraction ret=new Fraction();
		ret.nume=this.nume*fo.deno-this.deno*fo.nume;
		ret.deno=this.deno*fo.deno;
		ret.reduce();
		return ret;
	}
	Fraction mul(Fraction fo) 
	{
		Fraction ret=new Fraction();
		ret.nume=this.nume*fo.nume;
		ret.deno=this.deno*fo.deno;
		ret.reduce();
		return ret;
	}
	Fraction div(Fraction fo) 
	{
		Fraction ret=new Fraction();
		ret.nume=this.nume*fo.deno; 
		ret.deno=this.deno*fo.nume;
		ret.reduce();
		return ret;
	}
	@Override
	public String toString() {
		if(nume==0)
			return ""+0;
		else if(deno==1)
			return nume+"";
		return nume + "/" +deno;
	}
	int getMaxComFactor(int m,int n)
	{
		if(m

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

文章名称:JAVA题目~分数类FractionExp03-4-创新互联
本文来源:https://www.cdcxhl.com/article24/cehsce.html

成都网站建设公司_创新互联,为您提供网站营销虚拟主机网站排名Google外贸建站小程序开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联