Written by Bruth_Lee in Southwest University of Science And Technology.

Fraction(int a, int b)

构造一个a/b的分数。

这个类要提供以下的功能:

double toDouble();

将分数转换为double

Fraction plus(Fraction r);

将自己的分数和r的分数相加,产生一个新的Fraction的对象。注意小学四年级学过两个分数如何相加的哈。

Fraction multiply(Fraction r);

将自己的分数和r的分数相乘,产生一个新的Fraction的对象。

void print();

将自己以“分子/分母”的形式输出到标准输出,并带有回车换行。如果分数是1/1,应该输出1。当分子大于分母时,不需要提出整数部分,即31/30是一个正确的输出。

注意,在创建和做完运算后应该化简分数为最简形式。如2/4应该被化简为1/2。

你写的类要和以下的代码放在一起,并请勿修改这个代码:

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

Fraction a = new Fraction(in.nextInt(), in.nextInt());

Fraction b = new Fraction(in.nextInt(),in.nextInt());

a.print();

b.print();

a.plus(b).print();

a.multiply(b).plus(new Fraction(5,6)).print();

a.print();

b.print();

in.close();

}

}


注意,你的类的定义应该这样开始:

class Fraction {


也就是说,在你的类的class前面不要有public。

输入格式:

程序运行时会得到四个数字,分别构成两个分数,依次是分子和分母。

输出格式:

输出一些算式。这些输入和输出都是由Main类的代码完成的,你的代码不要做输入和输出。

输入样例:

2 4 1 3

输出样例:

1/2

1/3

5/6

1

1/2

1/3

时间限制:500ms内存限制:32000kb
import java.util.Scanner;    public class Main
{    public static void main(String[] args)    {    Scanner in = new Scanner(System.in);    Fraction a = new Fraction(in.nextInt(), in.nextInt());    Fraction b = new Fraction(in.nextInt(), in.nextInt());    a.print();    b.print();    a.plus(b).print();    a.multiply(b).plus(new Fraction(5, 6)).print();    a.print();    b.print();    in.close();    }
}
class Fraction
{int molecule;int denominator;public Fraction(int molecule , int denominator){this.molecule = molecule;this.denominator = denominator;}double toDouble() {return molecule*1.0/denominator;}Fraction plus(Fraction r) {Fraction m = new Fraction(0,1);m.denominator = this.denominator*r.denominator;m.molecule = this.molecule*r.denominator+this.denominator*r.molecule;return m;}Fraction multiply(Fraction r) {Fraction m = new Fraction(0,1);m.denominator = this.denominator*r.denominator;m.molecule = this.molecule*r.molecule;return m;}public void print() {int r;int x = this.molecule;int y = this.denominator;while(y!=0) {r = x%y;x = y;y = r;}this.molecule/=x;this.denominator/=x;if(this.molecule == this.denominator) {System.out.println(1);}else {System.out.println(this.molecule+"/"+this.denominator );}}
}

Java之Fraction相关推荐

  1. Hive集成Tez引擎跑任务出现的问题(Java heap space问题)

    问题1:Hive集成Tez引擎跑任务出现异常:TaskAttempt 3 failed, info=[Error: Error while running task ( failure ) : att ...

  2. Apache Tez介绍,术语,安装,监控等

    目录 1 Apache Tez 1 1.1 Apache Tez介绍 1 1.2 术语介绍 1 1.3 软件准备 2 1.4 设置tez-ui 3 1.4.1 找到war包 3 1.4.2 将tez- ...

  3. Hive更换TEZ引擎

    1.关于版本问题: hive-1.2.1+tez-0.9.0+hadoop-2.7.7 hive-2.3.6+tez-0.9.0+hadoop-2.7.1 两种搭配均试过可行,之前配置的时候觉得与版本 ...

  4. Tez 0.9安装部署+hive on tez配置 + Tez-UI

    Tez说明 将xyz替换为您正在使用的tez发行版号.例如0.5.0.对于Tez版本0.8.3和更高版本,Tez需要Apache Hadoop版本为2.6.0或更高版本.对于Tez版本0.9.0及更高 ...

  5. CDH安装Tez 0.8.5

    CDH安装Tez 0.8.5 1.1前置环境 1)安装JDK 2)安装Maven 下载安装包:apache-maven-3.5.4-bin.tar.gz 解压: tar -zxvf apache-ma ...

  6. Hive 查看和修改 tez 容器的资源

    1. 查看当前的配置 1.1 进入 AppMaster 或 History 进入运行中,或者运行完作业对应的 "Tracking URL".以下示例是已经运行完的 job. 1.2 ...

  7. hive3编译 on tez+tez-ui配置和遇到的兼容问题与踩坑记录

    框架 版本号 Hadoop 3.1.3 Hive 3.1.2 Tez 0.10.1 需要资料包的可以关注我微信公众号(最底有二维码),回复关键字"tez"领取 tez是一个Hive ...

  8. Hive计算引擎大PK,万字长文解析MapRuce、Tez、Spark三大引擎

    Hive从2008年始于FaceBook工程师之手,经过10几年的发展至今保持强大的生命力.截止目前Hive已经更新至3.1.x版本,Hive从最开始的为人诟病的速度慢迅速发展,开始支持更多的计算引擎 ...

  9. hive集群tez引擎执行任务卡住

    更换tez引擎后,如果执行任务卡住,修改调节容量调度器的资源调度策略,修改以下配置信息 cd /opt/module/hadoop-3.1.3/etc/hadoop/vim tez-site.xml ...

最新文章

  1. QTreeWidget 读取windows注册表
  2. c# getresponsestream返回byte[]_C# 基础知识系列-13 常见类库(三)
  3. OpenVINO安装之安装openCL
  4. sys/queue.h分析(图片复制不过来,查看原文)
  5. LSMW--一个中文介绍的摘抄
  6. 罗永浩担任“大局官”,小米双十一狂发补贴
  7. 30天打造专业红客二
  8. Delphi 3D Glscene安装
  9. 【svn】SSL error: A TLS warning alert has been received的解决方法
  10. HTB-oscplike-Bounty+Jerry+Conceal
  11. ssh 远程锁住解锁_Linux 中锁定和解锁用户帐户的三种方法
  12. CPU,GPU,TPU,NPU都是什么?
  13. Hexo博客美化之——IP签名图一网打尽
  14. 羽素玩转开学季,1000份豪礼相送
  15. 阿里云大学安全课程-阿里云首席安全研究员吴瀚清:WannaCry事件最“细思恐极“的一个事实是?...
  16. 爬虫练习-荔枝直播(分享页)
  17. java中printf,print,println,区别及用法详解
  18. python进行基本的图像处理
  19. 利用PE工具修改系统密码
  20. 联想服务器rq940运维端口,联想RQ940服务器,联想服务器总代,金牌分销

热门文章

  1. Win10打印机IP地址哪里看?Win10打印机IP地址查看方法介绍
  2. LncACTdb 3.0:肿瘤ceRNA相作和个性化网络数据库
  3. 一加7pro 刷kali nethunter
  4. 大数据和机器学习的关系
  5. ipad iphone开发_如何最大限度地延长iPad,iPhone或iPod Touch的电池寿命
  6. python切片逆序_python 切片,字符串逆序神器
  7. java字体倾斜_java立体文字效果怎么做?倾斜的怎么做?
  8. python 公主连接,公主连接打金牛座四王有什么小技巧吗 一阶段四王图文攻略
  9. HttpClient模拟登陆
  10. 扫地拖地一体机哪款好,好用的扫地拖地一体机分享