java分子分母的加减乘除_加减乘除四则运算

这是一个使用Java编程语言实现的项目,旨在生成3到5个运算符的加减乘除练习题,适合小学生练习。项目包含了整数运算和分数运算,确保运算过程中不出现负数和非整数结果。程序会将生成的练习题和答案保存到result.txt文件中,同时支持带括号的运算和分数的自动化简。
摘要由CSDN通过智能技术生成

个人项目实战-四则混合运算

coding.net源码地址 :https://git.dev.tencent.com/qyj814/fours.git

一.实验要求

基本任务:

使用JAVA编程语言,独立完成一个3到5个运算符的四则运算练习的软件。

软件基本功能要求如下:

程序可接收一个输入参数n,然后随机产生n道加减乘除(分别使用符号+-*÷来表示)练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间。

每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出      3÷5+2=2.6,2-5+10=7等算式。

练习题生成好后,将你的学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt”中,不要输出额外信息,文件目录与程序目录一致。

当程序接收的参数为4时,以下为一个输出文件示例。

2018010203

13+17-1=29

11*15-5=160

3+10+4-16=1

15÷5+3-2=4

软件附加功能要求如下:(请有余力的同学完成)

支持有括号的运算式,包括出题与求解正确答案。注意,算式中存在的括号数必须大于2对,且不得超过运算符的个数。

扩展程序功能支持真分数的出题与运算(只需要涵盖加减法即可),例如:1/6      + 1/8 + 2/3= 23/24。注意在实现本功能时,需支持运算时分数的自动化简,比如      1/2+1/6=2/3,而非4/6,且计算过程中与结果都须为真分数。

二.操作步骤

首先,分析题意,做基本的需求分析,总体设计等;其次,根据详细设计编写代码并进行测试;最后,上传文件到coding.net上。

三.代码分析

主要文件

c71516a4c5eb1c05e47d065b64cf3ecc.png

1.创建整数核心代码

8f900a89c6347c561fdf2122f13be562.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是java实现假分数加减乘除运算的示例代码: 假分数类Fraction: ```java public class Fraction { private int numerator; // 分子 private int denominator; // 分母 // 构造函数 public Fraction(int numerator, int denominator) { if (denominator == 0) { throw new IllegalArgumentException("分母不能为0"); } int gcd = gcd(numerator, denominator); this.numerator = numerator / gcd; this.denominator = denominator / gcd; if (this.denominator < 0) { // 统一分母为正数 this.numerator = -this.numerator; this.denominator = -this.denominator; } } // 加法 public Fraction add(Fraction f) { int newNumerator = this.numerator * f.denominator + this.denominator * f.numerator; int newDenominator = this.denominator * f.denominator; return new Fraction(newNumerator, newDenominator); } // 减法 public Fraction subtract(Fraction f) { int newNumerator = this.numerator * f.denominator - this.denominator * f.numerator; int newDenominator = this.denominator * f.denominator; return new Fraction(newNumerator, newDenominator); } // 乘法 public Fraction multiply(Fraction f) { int newNumerator = this.numerator * f.numerator; int newDenominator = this.denominator * f.denominator; return new Fraction(newNumerator, newDenominator); } // 除法 public Fraction divide(Fraction f) { if (f.numerator == 0) { throw new IllegalArgumentException("除数不能为0"); } int newNumerator = this.numerator * f.denominator; int newDenominator = this.denominator * f.numerator; return new Fraction(newNumerator, newDenominator); } // 获取分子 public int getNumerator() { return numerator; } // 获取分母 public int getDenominator() { return denominator; } // 判断是否为整数 public boolean isInteger() { return numerator % denominator == 0; } // 转化为整数 public int toInteger() { return numerator / denominator; } // 转化为字符串 public String toString() { if (isInteger()) { return String.valueOf(toInteger()); } else { return String.format("%d/%d", numerator, denominator); } } // 获取最大公约数 private int gcd(int a, int b) { if (b == 0) { return a; } else { return gcd(b, a % b); } } } ``` 测试代码: ```java public class Main { public static void main(String[] args) { Fraction f1 = new Fraction(3, 4); Fraction f2 = new Fraction(1, 2); System.out.println(f1.add(f2)); // 输出5/4 System.out.println(f1.subtract(f2)); // 输出1/4 System.out.println(f1.multiply(f2)); // 输出3/8 System.out.println(f1.divide(f2)); // 输出3/2 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值