java_分数

2023-10-29

题目内容:

设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。

这个类的构造函数是:

 

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{
    private int a;//分子
    private int b;//分母
    
//    构造函数
    public Fraction(int a, int b) {
        this.a = a;//this调用本类中的成员变量
        this.b = b;//这里是把形参的值传递给上面带private的a,b
    }
    
//    得到分子
    public int getA() {
        return this.a;
    }
    
//    得到分母
    public int getB() {
        return this.b;
    }

//    分数加法
    public Fraction plus(Fraction r) {
        int a1=this.a;//第一个分子
        int b1=this.b;//第一个分母
        int a2=r.getA();//第二个分子
        int b2=r.getB();//第二个分母
        int gbs=b1*b2;//公倍数,分母相乘进行通分
        int a3=a1*b2+a2*b1;//通分后两分数相加得到的分子
        return new Fraction(a3,gbs);
    }
    
//    分数乘法
    public Fraction multiply(Fraction r) {
        return new Fraction(a*(r.getA()),b*(r.getB()));
    }
    
//    输出方法
    public void print() {
        int gys=1;//公约数,初始化为1
//        找出最大公约数
        for(int i=1;i<=a;i++) {
            if(a%i==0&&b%i==0) {
                gys=i;
            }
            else {
                continue;
            }
        }
//        化为最简分数
        a=a/gys;
        b=b/gys;

        if(a==1&&b==1) {
            System.out.println(1);//分子分母同为1输出1
        }
        else {
            System.out.println(a+"/"+b);//否则,直接输出
        }
    }
}

  

 

转载于:https://www.cnblogs.com/songzi-yang/p/10117396.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java_分数 的相关文章

  • 在 Java 中克隆对象 [3 个问题]

    这样做会调用Asub的clone方法吗 或者Asub深度克隆是否正确 如果没有的话 有没有办法通过这种方法对Asub进行深度克隆呢 abstract class Top extends TopMost protected Object cl
  • 序列的排列?

    我有具体数量的数字 现在我想以某种方式显示这个序列的所有可能的排列 例如 如果数字数量为3 我想显示 0 0 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 2 0 0 2 1 0 2 2 1 0 0 1 0 1 1 0
  • Spring应用中Eureka健康检查的问题

    我正在开发一个基于 Spring 的应用程序 其中包含多个微服务 我的一个微服务充当尤里卡服务器 到目前为止一切正常 在我所有其他微服务中 用 EnableEurekaClient 我想启用这样的健康检查 应用程序 yml eureka c
  • .properties 中的通配符

    是否存在任何方法 我可以将通配符添加到属性文件中 并且具有所有含义 例如a b c d lalalala 或为所有以结尾的内容设置一个正则表达式a b c anything 普通的 Java 属性文件无法处理这个问题 不 请记住 它实际上是
  • Spring AspectJ 在双代理接口时失败:无法生成类的 CGLIB 子类

    我正在使用Spring的
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp
  • Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

    我的数据库中存在一个集合 documentDev 其分片键为 dNumber 样本文件 id 12831221wadaee23 dNumber 115 processed false 如果我尝试使用以下命令通过任何查询工具更新此文档 db

随机推荐

  • 配置Nginx作为动态应用程序代理

    简介 在本教学文章中 我们将学习如何将Nginx配置为代理动态应用程序 如PHP Python或Node js 以处理动态请求 通过将Nginx配置为动态应用程序代理 我们可以提供高性能 可靠和安全的动态内容传递 本教程将介绍如何配置Ngi
  • C++初识

    简单的C 程序 include
  • linux 内核编程 常见错误,Linux编程常见错误及解决方案

    对于linux新手来说Linux编程会经常遇见一些问题 今天列出新手们最经常遇到的编程错误 并提供解决方案 1 由于是Linux新手 所以现在才开始接触线程编程 照着GUN Linux编程指南中的一个例子输入编译 结果出现如下错误 unde
  • [Pytorch系列-52]:循环神经网络RNN - 全连接网络与RNN网络在时间序列数据集上拟合的比较

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121526014 目录 第1章 概述
  • IDEA实现远程调试步骤详解

    IDEA不仅可以本地调试代码 也可以远程调试代码 一 基本原理 本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信 传递调试指令和调试信息 被调试程序的远程虚拟机 作为 Debug 服务端 监听 Debug 调试
  • 【Mo 人工智能技术博客】时序预测模型——LSTNet

    时序预测模型 LSTNet 作者 陈东瑞 1 背景 多元时间序列数据在我们的日常生活中无处不在 从股票市场的价格 高速公路上的交通流量 太阳能发电厂的输出量 不同城市的温度等等 在这样的应用中 用户通常对基于时间序列的历史观察来对新趋势或潜
  • 人脸识别技术的成熟让刷脸支付落地

    按照识别的精度排序 确实是虹膜 指纹 人脸的识别精度依次降低 但人脸识别可以根据摄像头的提升而提升 双目摄像头 结构光摄像头 TOF等等 这个上升空间很大 从应用性来看 你现在让所有的用户都去提取虹膜信息 指纹信息 这个很难 不现实 而我们
  • 文件复制到u盘后文件夹是空的,怎么恢复?

    便携式存储设备有很多种 其中就有u盘 由于这个给予我们生活工作中极大的便利 相信不少小伙伴都喜欢随身携带一个 但不少人遇到过明明已经把文件存放到u盘里了 在正常打开的情况下 再次使用时 出现u盘文件夹是空白的 碰到这样的情况 文件复制到u盘
  • 量化指标公式源码_精选指标:通达信公式无敌紫金钻选股指标——附源码

    精选指标 通达信公式无敌紫金钻选股指标 附源码 精选指标 通达信公式无敌紫金钻选股指标 附源码 VAR1 CLOSE MA CLOSE 21 MA CLOSE 21 100 VAR2 CLOSE LLV LOW 43 HHV HIGH 43
  • 第10章 K8s进阶篇-高级调度计划任务,污点和容忍和Affinity

    10 1 什么是Job job常用作初始化数据和基本的创建操作 job创建成功后不会立即执行容器命令 只有suspend true 才会执行 10 2 Job使用入门 root k8s master01 10st cat job yaml
  • HTML实现简单登录以及界面跳转

  • 经典上中(左右)下三栏布局

    经典上中 左右 下三栏布局 利用绝对定位实现三栏布局 1 html div class container div class top 我是顶部 div div class content div class div div div
  • 构建用户画像-标签体系

    用户画像是目前在技术公司广泛使用的技术 是根据客户人口统计信息 社交关系 偏好习惯和消费行为等信息而抽象出来的标签化画像 常常用在精准营销 圈定人群 发送短信消息 APP弹窗等等 用户画像的准确性往往会直接影响到运营的效果和获客成本 用户画
  • Qt Widgets 之 QDockWidget(停靠窗口)

    目录 什么是停靠窗口 如何添加停靠窗口 QDockWidget setWidget QMainWindow addDockWidget 设置停靠选项 Options AnimatedDocks AllowNestedDocks AllowT
  • Keil在线调试程序乱跑

    最近改了一个别人写的程序 但是在调试器调试过程中出现了一个奇怪的现象 代码部分如下 Sys Run这个函数在main函数中被无限循环调用 初始化时我会将TCENABLE这个标志位置0 通过CAN发送信息来改变他的数值 按道理来说当我运行程序
  • gcc -O0 -O1 -O2 -O3 四级优化选项及每级分别做什么优化

    相关博客http blog chinaunix net uid 24954950 id 2956476 html 相关博客http blog csdn net misiter article details 7514428 相关博客http
  • linux top命令看到的实存(RES)与虚存(VIRT)分析

    近期在公司中解决程序使用的内存高问题 将一部分之前无法回收的内存进行了回收 实现降内存效果 降实存 在统计效果时 QA问是统计RES 实存 还是VIRT 虚存 在网上学习看了一些博客 这里自己总结一下RES和VIRT的区别 1 概念 VIR
  • 绘制同y轴双侧柱状图,且y轴位置在坐标为0的位置,左右x轴均为正值(Python)

    绘制同y轴双侧柱状图 且y轴位置在坐标为0的位置 左右x轴均为正值 Python 在数据可视化中 柱状图是一种常用的图表类型 用于展示不同类别或变量之间的比较 本文将介绍如何使用Python绘制一个同y轴双侧柱状图 且y轴的位置在坐标为0的
  • JQuery之ContextMenu(右键菜单)

    插件下载地址 http www trendskitchens co nz jquery contextmenu jquery contextmenu r2 js 压缩版 http www trendskitchens co nz jquer
  • java_分数

    题目内容 设计一个表示分数的类Fraction 这个类用两个int类型的变量分别表示分子和分母 这个类的构造函数是 Fraction int a int b 构造一个a b的分数 这个类要提供以下的功能 double toDouble 将分