Java之Fraction
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
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相关推荐
- Hive集成Tez引擎跑任务出现的问题(Java heap space问题)
问题1:Hive集成Tez引擎跑任务出现异常:TaskAttempt 3 failed, info=[Error: Error while running task ( failure ) : att ...
- 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- ...
- 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 两种搭配均试过可行,之前配置的时候觉得与版本 ...
- 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及更高 ...
- 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 ...
- Hive 查看和修改 tez 容器的资源
1. 查看当前的配置 1.1 进入 AppMaster 或 History 进入运行中,或者运行完作业对应的 "Tracking URL".以下示例是已经运行完的 job. 1.2 ...
- hive3编译 on tez+tez-ui配置和遇到的兼容问题与踩坑记录
框架 版本号 Hadoop 3.1.3 Hive 3.1.2 Tez 0.10.1 需要资料包的可以关注我微信公众号(最底有二维码),回复关键字"tez"领取 tez是一个Hive ...
- Hive计算引擎大PK,万字长文解析MapRuce、Tez、Spark三大引擎
Hive从2008年始于FaceBook工程师之手,经过10几年的发展至今保持强大的生命力.截止目前Hive已经更新至3.1.x版本,Hive从最开始的为人诟病的速度慢迅速发展,开始支持更多的计算引擎 ...
- hive集群tez引擎执行任务卡住
更换tez引擎后,如果执行任务卡住,修改调节容量调度器的资源调度策略,修改以下配置信息 cd /opt/module/hadoop-3.1.3/etc/hadoop/vim tez-site.xml ...
最新文章
- QTreeWidget 读取windows注册表
- c# getresponsestream返回byte[]_C# 基础知识系列-13 常见类库(三)
- OpenVINO安装之安装openCL
- sys/queue.h分析(图片复制不过来,查看原文)
- LSMW--一个中文介绍的摘抄
- 罗永浩担任“大局官”,小米双十一狂发补贴
- 30天打造专业红客二
- Delphi 3D Glscene安装
- 【svn】SSL error: A TLS warning alert has been received的解决方法
- HTB-oscplike-Bounty+Jerry+Conceal
- ssh 远程锁住解锁_Linux 中锁定和解锁用户帐户的三种方法
- CPU,GPU,TPU,NPU都是什么?
- Hexo博客美化之——IP签名图一网打尽
- 羽素玩转开学季,1000份豪礼相送
- 阿里云大学安全课程-阿里云首席安全研究员吴瀚清:WannaCry事件最“细思恐极“的一个事实是?...
- 爬虫练习-荔枝直播(分享页)
- java中printf,print,println,区别及用法详解
- python进行基本的图像处理
- 利用PE工具修改系统密码
- 联想服务器rq940运维端口,联想RQ940服务器,联想服务器总代,金牌分销
热门文章
- Win10打印机IP地址哪里看?Win10打印机IP地址查看方法介绍
- LncACTdb 3.0:肿瘤ceRNA相作和个性化网络数据库
- 一加7pro 刷kali nethunter
- 大数据和机器学习的关系
- ipad iphone开发_如何最大限度地延长iPad,iPhone或iPod Touch的电池寿命
- python切片逆序_python 切片,字符串逆序神器
- java字体倾斜_java立体文字效果怎么做?倾斜的怎么做?
- python 公主连接,公主连接打金牛座四王有什么小技巧吗 一阶段四王图文攻略
- HttpClient模拟登陆
- 扫地拖地一体机哪款好,好用的扫地拖地一体机分享