「java分数类型」java分数转小数的方法

博主:adminadmin 2023-03-19 07:36:08 656

本篇文章给大家谈谈java分数类型,以及java分数转小数的方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

用java怎么写分数?

你可以写个分数类,下面是参考:

public class Fraction {

private Integer numerator; // 分子;

private Integer denominator; // 分母

/**

* 构造器

*/

public Fraction() {

}

public Fraction(Integer numerator, Integer denominator) {

this.numerator = numerator;

this.denominator = denominator;

}

public Integer getDenominator() {

return denominator;

}

public void setDenominator(Integer denominator) {

this.denominator = denominator;

}

public Integer getNumerator() {

return numerator;

}

public void setNumerator(Integer numerator) {

this.numerator = numerator;

}

/**

* 求最大公约数

*

* @return

*/

private int getGCD(int a, int b) {

int max = Math.max(a, b);

int min = Math.min(a, b);

int mod = max % min;

if (mod == 0) {

return min;

} else {

return this.getGCD(mod, min);

}

}

/**

* 简化和约分

*

* @return

*/

public Fraction simplify() {

// 格式化

if (this.numerator == 0) {

this.denominator = null;

return this;

} else if (this.denominator * this.numerator 0

this.denominator 0) {

this.denominator = Math.abs(this.denominator);

this.numerator = Math.abs(this.numerator);

return this;

} else if (this.denominator 0) {

this.denominator = Math.abs(this.denominator);

this.numerator = -this.numerator;

return this;

}

// 约分

int gcd = this.getGCD(Math.abs(denominator), Math.abs(numerator));

if (gcd == 1) {

return this;

} else {

this.denominator = this.denominator / gcd;

this.numerator = this.numerator / gcd;

return this;

}

}

/**

* 加法

*

* @param fraction

* @return

*/

public Fraction add(Fraction fraction) {

Integer resultDenominator = Math.abs(this.denominator)

* Math.abs(fraction.getDenominator());

Integer resultNumerator = this.numerator * fraction.getDenominator()

+ this.denominator * fraction.getNumerator();

Fraction result = new Fraction(resultNumerator, resultDenominator);

return result.simplify();

}

/**

* 减法

*

* @param fraction

* @return

*/

public Fraction minus(Fraction fraction) {

Integer resultDenominator = Math.abs(this.denominator)

* Math.abs(fraction.getDenominator());

Integer resultNumerator = this.numerator * fraction.getDenominator()

- this.denominator * fraction.getNumerator();

Fraction result = new Fraction(resultNumerator, resultDenominator);

return result.simplify();

}

/**

* 乘法

*

* @param fraction

* @return

*/

public Fraction multiply(Fraction fraction) {

Fraction result = null;

if (this.numerator == 0 || fraction.numerator == 0) {

result = new Fraction(0, null);

}

Integer resultDenominator = this.denominator

* fraction.getDenominator();

Integer resultNumerator = this.numerator * fraction.getNumerator();

result = new Fraction(resultNumerator, resultDenominator);

return result.simplify();

}

/**

*除法

*

* @param fraction

* @return

*/

public Fraction divide(Fraction fraction) {

Fraction result = null;

if (this.numerator == 0) {

result = new Fraction(0, null);

}

Integer resultDenominator = this.denominator * fraction.getNumerator();

Integer resultNumerator = this.numerator * fraction.getDenominator();

result = new Fraction(resultNumerator, resultDenominator);

return result.simplify();

}

@Override

public String toString() {

return "[分子]" + this.numerator + "-[分母]" + this.denominator;

}

/**

* 测试

*

* @param args

*/

public static void main(String[] args) {

Fraction f1 = new Fraction(1, 2);

Fraction f2 = new Fraction(2, 4);

System.out.println(f1);

System.out.println(f2);

System.out.println(f2.simplify());

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

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

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

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

}

}

java的基本数据类型有哪些

四种八类:

基本数据类型

整数类型:

byte:字节占用 1字节   8位,用来表达最小的数据单位,储存数据长度为 正负 127;

short:字节占用 2字节 16位,储存数值长度为 -32768-32767

int:字节占用 4字节     32位,最为常用的整数类型,储存长度为,-2^31-1~2^31  (21 亿)

long:字节占用 8字节  64位,当到达int数值极限时使用,储存长度为 看图片:

         

         

浮点数类型:

float:单精度浮点型    32位  取值范围  3.4e-38~3.4e-38

double:双精度浮点型   64位  ,java中默认的浮点类型   取值范围 1.7e-308~1.7e-308

字符类型:

char:16位  ,java字符使用Unicode编码;

布尔类型

boolean : true 真  和 false 假

引用数据类型:

类 class

接口 interface

数组

JAVA中有分数数据类型吗?

没有分数类型,而且在计算中如果出现较长的小数或者无限循环、不循环小数,都会丢失精度,每个数据类型都有自己的精度范围,超出部分就丢失了

java习题 怎么写分数

你可以写个分数类,下面是参考:

public class Fraction {

private Integer numerator; // 分子;

private Integer denominator; // 分母

/**

* 构造器

*/

public Fraction() {

}

public Fraction(Integer numerator, Integer denominator) {

this.numerator = numerator;

this.denominator = denominator;

}

public Integer getDenominator() {

return denominator;

}

public void setDenominator(Integer denominator) {

this.denominator = denominator;

}

public Integer getNumerator() {

return numerator;

}

public void setNumerator(Integer numerator) {

this.numerator = numerator;

}

/**

* 求最大公约数

*

* @return

*/

private int getGCD(int a, int b) {

int max = Math.max(a, b);

int min = Math.min(a, b);

int mod = max % min;

if (mod == 0) {

return min;

} else {

return this.getGCD(mod, min);

}

}

/**

* 简化和约分

*

* @return

*/

public Fraction simplify() {

// 格式化

if (this.numerator == 0) {

this.denominator = null;

return this;

} else if (this.denominator * this.numerator 0

this.denominator 0) {

this.denominator = Math.abs(this.denominator);

this.numerator = Math.abs(this.numerator);

return this;

} else if (this.denominator 0) {

this.denominator = Math.abs(this.denominator);

this.numerator = -this.numerator;

return this;

}

// 约分

int gcd = this.getGCD(Math.abs(denominator), Math.abs(numerator));

if (gcd == 1) {

return this;

} else {

this.denominator = this.denominator / gcd;

this.numerator = this.numerator / gcd;

return this;

}

}

/**

* 加法

*

* @param fraction

* @return

*/

public Fraction add(Fraction fraction) {

Integer resultDenominator = Math.abs(this.denominator)

* Math.abs(fraction.getDenominator());

Integer resultNumerator = this.numerator * fraction.getDenominator()

+ this.denominator * fraction.getNumerator();

Fraction result = new Fraction(resultNumerator, resultDenominator);

return result.simplify();

}

/**

* 减法

*

* @param fraction

* @return

*/

public Fraction minus(Fraction fraction) {

Integer resultDenominator = Math.abs(this.denominator)

* Math.abs(fraction.getDenominator());

Integer resultNumerator = this.numerator * fraction.getDenominator()

- this.denominator * fraction.getNumerator();

Fraction result = new Fraction(resultNumerator, resultDenominator);

return result.simplify();

}

/**

* 乘法

*

* @param fraction

* @return

*/

public Fraction multiply(Fraction fraction) {

Fraction result = null;

if (this.numerator == 0 || fraction.numerator == 0) {

result = new Fraction(0, null);

}

Integer resultDenominator = this.denominator

* fraction.getDenominator();

Integer resultNumerator = this.numerator * fraction.getNumerator();

result = new Fraction(resultNumerator, resultDenominator);

return result.simplify();

}

/**

*除法

*

* @param fraction

* @return

*/

public Fraction divide(Fraction fraction) {

Fraction result = null;

if (this.numerator == 0) {

result = new Fraction(0, null);

}

Integer resultDenominator = this.denominator * fraction.getNumerator();

Integer resultNumerator = this.numerator * fraction.getDenominator();

result = new Fraction(resultNumerator, resultDenominator);

return result.simplify();

}

@Override

public String toString() {

return "[分子]" + this.numerator + "-[分母]" + this.denominator;

}

/**

* 测试

*

* @param args

*/

public static void main(String[] args) {

Fraction f1 = new Fraction(1, 2);

Fraction f2 = new Fraction(2, 4);

System.out.println(f1);

System.out.println(f2);

System.out.println(f2.simplify());

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

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

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

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

}

}

java分数类型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java分数转小数的方法、java分数类型的信息别忘了在本站进行查找喔。