分数四则运算_JAVA
Description
编写程序,实现两个分数的加减法
Input
输入包含多行数据;
每行数据是一个字符串,格式是"a/boc/d",其中a, b, c, d为数字(每个数字保证为正数并且不存在正号)。o是运算符"+“或者”-","*",""。
数据以EOF结束,输入数据保证合法。
Output
直接输出结果,并且注意结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数形式。
Sample
Input
1/100+3/100
1/4-1/2
1/3-1/3
1/2*2/1
1/2\1/2
Output
1/25
-1/4
0
1
import java.util.Scanner;class F{int a;int b;public F(int a, int b) {this.a = a;this.b = b;}public int maxnum(int a, int b) {if (a % b == 0)return b;else {int x = maxnum(b, a % b);return x;}}
}class math{int a;int b;public math(int a, int b) {this.a = a;this.b = b;}public void cal(math m, char r) {int x;int y;if(r == '+') {x = this.a * m.b + this.b * m.a;y = this.b * m.b;}else if(r == '-') {x = this.a * m.b - this.b * m.a;y = this.b*m.b;}else if(r == '*') {x = this.a * m.a;y = this.b * m.b;}else {int tt = m.a;m.a = m.b;m.b = tt;x = this.a * m.a;y = this.b * m.b;}if(x == 0)System.out.println("0");else {F ff = new F(x,y);int t = ff.maxnum(x, y);x /= t;y /= t;if(y == -1) {System.out.println(-x);}else if(y == 1) {System.out.println(x);}else if(y < 0) {y = -y;x = -x;System.out.println(x + "/" + y);}elseSystem.out.println(x + "/" + y);}}}public class Main {public static void main(String[] args) {Scanner reader = new Scanner(System.in);while(reader.hasNext()) {String str = reader.next();String[] s=str.split("\\+|-|\\*|/|\\\\");char r = '+';for(int i = 0; i < str.length(); i++) {if(str.charAt(i) == '+' || str.charAt(i) == '-' || str.charAt(i) == '*' || str.charAt(i) == '\\') {r = str.charAt(i);break;}}int a = Integer.parseInt(s[0]);int b = Integer.parseInt(s[1]);int c = Integer.parseInt(s[2]);int d = Integer.parseInt(s[3]);math x = new math(a, b);math y = new math(c, d);x.cal(y, r);}reader.close();}
}
分数四则运算_JAVA相关推荐
- java实现分数四则运算
java分数四则运算 java实现简单的分数四则运算(大一小白,希望有大佬评论指正) package 作业; import java.util.Scanner; public class Fracti ...
- 分数四则运算java_用java具体代码实现分数(即有理数)四则运算
用java具体代码实现分数(即有理数)四则运算 1,背景 Java老师布置了一个关于有理数运算的题目,因为参考书上有基本代码,所以自己主要是对书上代码做了一点优化,使其用户交互性更加友好以及代码封装性 ...
- 分数四则运算法则c语言,△【OJ】(二)---C---分数类的四则运算
题目要求如下: -- --- ---------------------------------------------------------------------------------- ...
- java 四则运算_java实现小学生四则运算
结对伙伴:叶文涛 项目要求: 实现一个自动生成小学四则运算题目的命令行程序. 使用 -n 参数控制生成题目的个数(完成) 使用 -r 参数控制题目中数值的范围, .该参数可以设置为1或其他自然数.(完 ...
- java web随机生成四则运算_java四则运算生成器
题目描述: 从<构建之法>第一章的 "程序" 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件",满足以下需求: 除 ...
- java 四则运算_java四则运算
题目描述: 从<构建之法>第一章的 "程序" 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件",满足以下需求: 除 ...
- 分数加减法_JAVA
Description 编写一个C程序,实现两个分数的加减法 Input 输入包含多行数据 每行数据是一个字符串,格式是"a/boc/d". 其中a, b, c, d是一个0-9的 ...
- java用栈处理四则运算_Java 用栈处理四则运算
import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Stack; imp ...
- java实现相同分数排名_java做成绩排名表,如何实现同分同名次
https://zhidao.baidu.com/question/1900171286360976020.html?qq-pf-to=pcqq.c2c 思路: 排序肯定还是要排的, 按照Java成绩 ...
最新文章
- Java 对象初始化的过程介绍
- Access数据库中Sum函数返回空值(Null)时如何设置为0
- MySQL抓包工具:MySQL Sniffer【转】
- DLL的高级操作技术——Windows核心编程学习手札之二十
- IOS可执行文件学习总结
- 百度交易中台之账房系统架构浅析
- 【图解】java8性能对比_Java 11 究竟比 8 快了多少?
- 源码安装NASM,无root权限
- 汇编中call printf参数压栈时错误理解
- leetcode-卡车加气走环
- 使用Travis-CI 与 Github Webhook自动部署你的页面
- Python匹配年月日和年月
- 微信小程序中媒体api总结
- python OpenCV给视频去除水印
- linux下ftp客户端主动模式设置
- 学ui需要了解html,学UI设计需要掌握文案知识吗
- grep命令 linux
- Qt使用lambda表达式实现无参信号与有参槽的连接
- linux中匿名用户怎么登陆_linux 匿名登陆
- 我擦C++ 反人类啊
热门文章
- 参数(parameter)和属性(attribute)的区别
- Ubuntu下默认使用dash而非bash
- Elasticsearch 的前世今生 【转】
- 从netty-example分析Netty组件续
- 解决java.sql.SQLException: Parameter number X is not an OUT parameter--转
- 【风控体系】互联网反欺诈体系漫谈
- 砸钱抢人抢项目,腾讯字节血拼游戏
- Quorum企业以太坊环境搭建教程
- JavaScript开发区块链只需200行代码
- 世界上最浪费时间的三件事