java st_st.java · cwj/java201621123070 - Gitee.com
package lianxi1;
//201621123070 陈伟杰
public class Rational {
int numerator; //分子
int denominator; //分母
Rational(int a,int b){
if(a==0){
numerator=0;
denominator=0;
}
else{
setNumeratorAndDenominator(a,b);
}
}
void setNumeratorAndDenominator(int a,int b){
int c=gcd(Math.abs(a),Math.abs(b));
numerator=a/c;
denominator=b/c;
if(numerator<0&&denominator<0){
numerator=-numerator;
denominator=-denominator;
}
}
int getNumerator(){
return numerator;
}
int getDenominator(){
return denominator;
}
int gcd(int a,int b)
{
if(a
{
int c=a;
a=b;
b=c;
}
int r=a%b;
while(r!=0)
{
a=b;
b=r;
r=a%b;
}
return b;
}
Rational add(Rational r)
{
int a=r.getNumerator();
int b=r.getDenominator();
int newNumerator=numerator*b+denominator*a;
int newDenominator=denominator*b;
Rational result=new Rational(newNumerator,newDenominator);
return result;
}
Rational sub(Rational r)
{
int a=r.getNumerator();
int b=r.getDenominator();
int newNumerator=numerator*b-denominator*a;
int newDenominator=denominator*b;
Rational result=new Rational(newNumerator,newDenominator);
return result;
}
Rational muti(Rational r)
{
int a=r.getNumerator();
int b=r.getDenominator();
int newNumerator=numerator*a;
int newDenominator=denominator*b;
Rational result=new Rational(newNumerator,newDenominator);
return result;
}
Rational div(Rational r)
{
int a=r.getNumerator();
int b=r.getDenominator();
int newNumerator=numerator*b;
int newDenominator=denominator*a;
Rational result=new Rational(newNumerator,newDenominator);
return result;
}
}
mport java.util.Scanner;
public class Rational_main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in
);
int Numerator1,Denominator1,Numerator2,Denominator2;
System.out.print("请输入第一个有理数的分子和分母,用空格隔开:");
Numerator1=in.nextInt();
Denominator1=in.nextInt();
System.out.print("请输入第二个有理数的分子和分母,用空格隔开:");
Numerator2=in.nextInt();
Denominator2=in.nextInt();
Rational firstRational=new Rational(Numerator1,Denominator1);
Rational secondRational=new Rational(Numerator2,Denominator2);
//加
Rational resultRational=firstRational.add(secondRational);
int resultNumerator=resultRational.getNumerator();
int resultDenominator=resultRational.getDenominator();
System.out.println(Numerator1+"/"+Denominator1+"+"+Numerator2+"/"+Denominator2+"="+resultNumerator+"/"+resultDenominator);
//减
resultRational=firstRational.sub(secondRational);
resultNumerator=resultRational.getNumerator();
resultDenominator=resultRational.getDenominator();
System.out.println(Numerator1+"/"+Denominator1+"-"+Numerator2+"/"+Denominator2+"="+resultNumerator+"/"+resultDenominator);
//乘
resultRational=firstRational.muti(secondRational);
resultNumerator=resultRational.getNumerator();
resultDenominator=resultRational.getDenominator();
System.out.println(Numerator1+"/"+Denominator1+"*"+Numerator2+"/"+Denominator2+"="+resultNumerator+"/"+resultDenominator);
//除
resultRational=firstRational.div(secondRational);
resultNumerator=resultRational.getNumerator();
resultDenominator=resultRational.getDenominator();
System.out.println(Numerator1+"/"+Denominator1+"/"+Numerator2+"/"+Denominator2+"="+resultNumerator+"/"+resultDenominator);
}
}
一键复制
编辑
Web IDE
原始数据
按行查看
历史
java st_st.java · cwj/java201621123070 - Gitee.com相关推荐
- Java 11 – Java飞行记录器
Java Flight Recorder(JFR)是一个Java分析工具,用于监视和诊断正在运行的Java应用程序,它收集有关正在运行的环境,JVM和Java应用程序的数据,并将记录的数据转储到.jf ...
- java unlimited_具有无限参数的Java方法(Java method with unlimited arguments)
具有无限参数的Java方法(Java method with unlimited arguments) Spring框架使用方法,您可以根据需要传递尽可能多的参数. 我想写一个函数,也可以采取无限量的 ...
- 介绍java -cp java -jar的区别
java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号";" java -cp &am ...
- 【Java】Java连接Mysql数据库的demo示例
[Java]Java连接Mysql数据库的demo示例 1.安装mysql数据库 2.下载java-mysql-connector.jar包 3.完成java配置 4.写java代码运行测试 1.安装 ...
- java抓取网页标题内容_[Java教程]java 网页页面抓取标题和正文
[Java教程]java 网页页面抓取标题和正文 0 2014-07-10 09:01:30 import java.io.BufferedReader;import java.io.IOExcept ...
- Java基础-Java中的堆内存和离堆内存机制
Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 转载于:https://www.cnblogs.com/yinzhengjie/p/9 ...
- Java 异常java.lang.IllegalArgumentException: Illegal group reference
Java 异常java.lang.IllegalArgumentException: Illegal group reference 参考文章: (1)Java 异常java.lang.Illegal ...
- Java基础-JAVA中常见的数据结构介绍
Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...
- 4.6 W 字总结!Java 11—Java 17特性详解
作者 | 民工哥技术之路 来源 | https://mp.weixin.qq.com/s/SVleHYFQeePNT7q67UoL4Q Java 11 特性详解 基于嵌套的访问控制 与 Java 语言 ...
最新文章
- 转:MySQL索引原理及慢查询优化
- virtualbox 命令
- 机器学习中的度量——字符串距离
- leetcode 《简单》 数学部分 Python实现
- poi获取段落位置_java poi读取.doc和.docx文件时获取图片与段落的对应关系
- 什么是事件的三要素?
- 智能优化算法:蜉蝣算法 - 附代码
- postfix发送邮件报错:mail for xxxxx.com loops back to myself
- 用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
- js获取ip本机地址的方法
- i2c电路电平转换电路
- Datawhale组队学习周报(第043周)
- 厦门大学计算机学院夏令营名单,2016年厦门大学信息科学与技术学院推免生夏令营入营名单...
- 视频播放插件AVPro1-插件介绍
- 使用Pytorch在StarCraft II 星际争霸2上实现多智能体强化学习算法
- mysql 主键 默认索引_mysql 主键和默认 设为索引的规则
- 《Vue.js实战》记录
- Hyper-V设置多个网口
- 公共区域U盘窃取数据
- java中lockprocess_java – 使用Processbuilder运行jar无法正常工作
热门文章
- DAO层,Service层,Controller层、View层
- 2022-2027年中国婴幼儿配方奶粉行业市场全景评估及发展战略规划报告
- javascript新窗口打开链接window.open()被阻拦的解决办法
- 语文高数英语计算机,江苏专转本高数、英语、计算机、语文复习方法.docx
- Ubuntu18.04安装g2o遇到的坑-TARGETS given no ARCHIVE DESTINATION for static library target
- vue+element 创建Cron表达式生成器组件 [带最近五次执行时间]
- Minix源码解读:Minix总体框架
- json学习(pythonj)
- centos7安装gparted分区工具
- “libgomp.so.1: version `GOMP_4.0' not found” || “libstdc++.so.6: version `CXXABI_1.3.8' not found”错误