「java求分数相加」java计算分数相加

博主:adminadmin 2023-01-09 23:21:07 717

本篇文章给大家谈谈java求分数相加,以及java计算分数相加对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java用递归的方法求分数的和怎么算

import java.util.ArrayList;

import java.util.List;

public class Fraction {

private int molecular;//分子

private int assignment;//分母

//get set方法

public int getMolecular() {

return molecular;

}

public void setMolecular(int molecular) {

this.molecular = molecular;

}

public int getAssignment() {

return assignment;

}

public void setAssignment(int assignment) {

this.assignment = assignment;

}

//构造函数

public Fraction(int fenzi,int fenmu){

//怕输入的分母为0 所有在这里测试一下 如果输入为0 那么会抛出一个异常

int test=1/fenmu;

molecular=fenzi;

assignment=fenmu;

}

//两个分数相加

public String add(Fraction b){

this.molecular=this.molecular*b.assignment+b.molecular*this.assignment;

this.assignment=this.assignment*b.assignment;

return this.toString();

}

//分数化简

public Fraction anonym(){

int small;//记录相当小的数

int big;//记录相对大的数

if(molecularassignment){

small=assignment;

big=molecular;

}else{

small=molecular;

big=assignment;

}

//得到相对小的数的所有约数

ListInteger list=new ArrayListInteger();

for(int i=2;i=small/2;i++){

if(small%i==0){

list.add(i);

}

}

//判断是否是公约数 并做操作

if(list.size()0){

for(int i=list.size()-1;i=0;i--){

if(big%list.get(i)==0small%list.get(i)==0){

big=big/list.get(i);

small=small/list.get(i);

molecular=molecular/list.get(i);

assignment=assignment/list.get(i);

}

}

}

return this;

}

//重写toString方法

@Override

public String toString() {

this.anonym();

if(this.molecular%this.assignment==0){

return ""+this.molecular/this.assignment;

}else{

return ""+this.molecular+"/"+this.assignment;

}

}

//主方法 用于测试

public static void main(String[] args) {

Fraction f1=new Fraction(6,14);

Fraction f2=new Fraction(7,15);

System.out.println(f1.add(f2));

}

}

我刚写的 我测试没什么问题 你测试一下吧 我只定义了一个加法 减法乘法除法不用我给你写了吧 如果有问题找我 QQ253358046 我这个不是用递归算的 但是能实现 如果非要用递归再找我吧

java中怎样实现分数的累加

int sum=0;//定义累加器

if(条件){sum=sum+分数;}//如果符合条件就累积分数

System.out.println(“总分=”+sum);//显示总分

楼主的问题描述太笼统,没办法用实例来说明啊!

在Java定义一个类,只算两个分数的加法? 测试a是1/2 b是1/3

public static void main(String args[]) {

String s1 = "1/8", s2 = "3/8";

String[] a = s1.split("/");

String b[] = s2.split("/");

int fenmu = minCommonMultiple(Integer.parseInt(a[1]), Integer

.parseInt(b[1]));

int fenzi = fenmu / Integer.parseInt(a[1]) * Integer.parseInt(a[0])

+ fenmu / Integer.parseInt(b[1]) * Integer.parseInt(b[0]);

int yueshu = maxCommonDivisor(fenmu, fenzi);

if (yueshu != 0) {

fenzi /= yueshu;

fenmu /= yueshu;

}

if (fenmu == 1)

System.out.println(fenzi);

else

System.out.println(fenzi + "/" + fenmu);

}

public static int maxCommonDivisor(int m, int n) {

if (m  n) {// 保证mn,若mn,则进行数据交换

int temp = m;

m = n;

n = temp;

}

if (m % n == 0) {// 若余数为0,返回最大公约数

return n;

} else { // 否则,进行递归,把n赋给m,把余数赋给n

return maxCommonDivisor(n, m % n);

}

}

// 求最小公倍数

public static int minCommonMultiple(int m, int n) {

return m * n / maxCommonDivisor(m, n);

}

关于java求分数相加和java计算分数相加的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。