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相关推荐

  1. java实现分数四则运算

    java分数四则运算 java实现简单的分数四则运算(大一小白,希望有大佬评论指正) package 作业; import java.util.Scanner; public class Fracti ...

  2. 分数四则运算java_用java具体代码实现分数(即有理数)四则运算

    用java具体代码实现分数(即有理数)四则运算 1,背景 Java老师布置了一个关于有理数运算的题目,因为参考书上有基本代码,所以自己主要是对书上代码做了一点优化,使其用户交互性更加友好以及代码封装性 ...

  3. 分数四则运算法则c语言,△【OJ】(二)---C---分数类的四则运算

     题目要求如下: -- --- ---------------------------------------------------------------------------------- ...

  4. java 四则运算_java实现小学生四则运算

    结对伙伴:叶文涛 项目要求: 实现一个自动生成小学四则运算题目的命令行程序. 使用 -n 参数控制生成题目的个数(完成) 使用 -r 参数控制题目中数值的范围, .该参数可以设置为1或其他自然数.(完 ...

  5. java web随机生成四则运算_java四则运算生成器

    题目描述: 从<构建之法>第一章的 "程序" 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件",满足以下需求: 除 ...

  6. java 四则运算_java四则运算

    题目描述: 从<构建之法>第一章的 "程序" 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件",满足以下需求: 除 ...

  7. 分数加减法_JAVA

    Description 编写一个C程序,实现两个分数的加减法 Input 输入包含多行数据 每行数据是一个字符串,格式是"a/boc/d". 其中a, b, c, d是一个0-9的 ...

  8. java用栈处理四则运算_Java 用栈处理四则运算

    import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Stack; imp ...

  9. java实现相同分数排名_java做成绩排名表,如何实现同分同名次

    https://zhidao.baidu.com/question/1900171286360976020.html?qq-pf-to=pcqq.c2c 思路: 排序肯定还是要排的, 按照Java成绩 ...

最新文章

  1. Java 对象初始化的过程介绍
  2. Access数据库中Sum函数返回空值(Null)时如何设置为0
  3. MySQL抓包工具:MySQL Sniffer【转】
  4. DLL的高级操作技术——Windows核心编程学习手札之二十
  5. IOS可执行文件学习总结
  6. 百度交易中台之账房系统架构浅析
  7. 【图解】java8性能对比_Java 11 究竟比 8 快了多少?
  8. 源码安装NASM,无root权限
  9. 汇编中call printf参数压栈时错误理解
  10. leetcode-卡车加气走环
  11. 使用Travis-CI 与 Github Webhook自动部署你的页面
  12. Python匹配年月日和年月
  13. 微信小程序中媒体api总结
  14. python OpenCV给视频去除水印
  15. linux下ftp客户端主动模式设置
  16. 学ui需要了解html,学UI设计需要掌握文案知识吗
  17. grep命令 linux
  18. Qt使用lambda表达式实现无参信号与有参槽的连接
  19. linux中匿名用户怎么登陆_linux 匿名登陆
  20. 我擦C++ 反人类啊

热门文章

  1. 参数(parameter)和属性(attribute)的区别
  2. Ubuntu下默认使用dash而非bash
  3. Elasticsearch 的前世今生 【转】
  4. 从netty-example分析Netty组件续
  5. 解决java.sql.SQLException: Parameter number X is not an OUT parameter--转
  6. 【风控体系】互联网反欺诈体系漫谈
  7. 砸钱抢人抢项目,腾讯字节血拼游戏
  8. Quorum企业以太坊环境搭建教程
  9. JavaScript开发区块链只需200行代码
  10. 世界上最浪费时间的三件事