「java分数参数」java输出分数形式

博主:adminadmin 2022-12-05 06:03:08 80

今天给各位分享java分数参数的知识,其中也会对java输出分数形式进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java的分数运算问题

import java.util.Scanner;

public class Du{

public static void main(String args[]) throws Exception{

System.out.println("Please input a string in format xx/xx");

Scanner scanner = new Scanner(System.in);

String input = scanner.next();

String[] ary = input.split("/");

int numerator = Integer.parseInt(ary[0].trim());

int denominator = Integer.parseInt(ary[1].trim());

Fraction fra = new Fraction(numerator, denominator);

Fraction fra2 = new Fraction(15, 7);

Fraction fra3 = new Fraction(13, 12);

fra2.multiple(fra);//测试乘法

System.out.println("15/7 * 1/3 = " + fra2.toString());

fra.add(fra3);//测试加法

System.out.println("1/3 + 13/12 = " + fra.toString());

}

}

class Fraction{

private int numerator;//分子

private int denominator;//分母

public Fraction(int numerator, int denominator) throws Exception{

if(denominator == 0){//分母为0,出错

throw new Exception("Denominator can't be ZERO!");

}

this.numerator = numerator;

this.denominator = denominator;

}

public void multiple(Fraction fract2){//分数相乘

numerator *= fract2.numerator;//分子相乘

denominator *= fract2.denominator;//分母相乘

//结果约分

int lcd = getLCD(numerator, denominator);//最大公约数

numerator = numerator / lcd;

denominator = denominator /lcd;

}

public void add(Fraction fract2){

int gcm = getGCM(denominator, fract2.denominator);//最小公倍数作为分母

numerator *= gcm / denominator;//分子通分

fract2.numerator *= gcm / fract2.denominator;//第二个分子通分

numerator += fract2.numerator;//分子相加

denominator = gcm;//分母为最小公倍数

//约分

int lcd = getLCD(numerator, denominator);

if(lcd != 1){

numerator = numerator / lcd;

denominator = denominator / lcd;

}

}

public String toString(){

return numerator + "/" + denominator;

}

//求最大公约数

public static int getLCD(int num1, int num2){

int max = Math.max(num1, num2);

int min = Math.min(num1, num2);

while(max % min != 0){

int temp = max;

max = min;

min = temp % min;

}

return min;

}

//求最小公倍数

public static int getGCM(int num1, int num2){

return num1 * num2 /getLCD(num1, num2);

}

}

-----------------

Please input a string in format xx/xx

1/3

15/7 * 1/3 = 5/7

1/3 + 13/12 = 17/12

所有分数都可以通过乘10得倍数而达到分子和分母都是int类型的,所以没有问题的。

关于JAVA的一道程序题,大概是约分

根据题意可得如下代码:

public class Fraction {

private int numerator;

private int denominator;

public Fraction(int x, int y){

this.numerator = x;

this.denominator = y;

}

public Fraction(){

}

public String toString(){

return this.numerator+"/"+this.denominator;

}

public void Simple(){

int i = this.numerator;

if (i  this.denominator){

i = this.denominator;

}

for (; i = 1; --i){

if (this.numerator%i == 0  this.denominator%i == 0)break;

}

this.numerator /= i;

this.denominator /= i;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Fraction f = new Fraction(48, 72);

f.Simple();

System.out.println(f.toString());

}

}

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写一个函数,由参数传递一个百分制的分数,返回这个分数对应的中文分数?

package s01;

public class s001 {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stu

System.out.println("hello world!\n"+ToCH(45));

}

public static String ToCH(int intInput) {

String si = String.valueOf(intInput);

String sd = "";

if (si.length() == 1) // 个

{

sd += GetCH(intInput);

return sd;

} else if (si.length() == 2)// 十

{

if (si.substring(0, 1).equals("1"))

sd += "十";

else

sd += (GetCH(intInput / 10) + "十");

sd += ToCH(intInput % 10);

} else if (si.length() == 3)// 百

{

sd += (GetCH(intInput / 100) + "百");

if (String.valueOf(intInput % 100).length() 2)

sd += "零";

sd += ToCH(intInput % 100);

} else if (si.length() == 4)// 千

{

sd += (GetCH(intInput / 1000) + "千");

if (String.valueOf(intInput % 1000).length() 3)

sd += "零";

sd += ToCH(intInput % 1000);

} else if (si.length() == 5)// 万

{

sd += (GetCH(intInput / 10000) + "万");

if (String.valueOf(intInput % 10000).length() 4)

sd += "零";

sd += ToCH(intInput % 10000);

}

return sd;

}

private static String GetCH(int input) {

String sd = "";

switch (input) {

case 1:

sd = "一";

break;

case 2:

sd = "二";

break;

case 3:

sd = "三";

break;

case 4:

sd = "四";

break;

case 5:

sd = "五";

break;

case 6:

sd = "六";

break;

case 7:

sd = "七";

break;

case 8:

sd = "八";

break;

case 9:

sd = "九";

break;

default:

break;

}

return sd;

}

}

JAVA 中 ,成绩分级问题

(1)//通过控制台输入分数public static void main(String[] args){System.out.println("请输入分数:"); Scanner input=new Scanner(system.in);int i=input.nextInt();i=i/10;switch(i){ case 10:case 9:  System.out.println("A"); break;case 8:  System.out.println("B"); break;case 7:  System.out.println("C"); break;case 6:  System.out.println("D"); break;default: if(i=0 i=10){          System.out.println("E");        }else{          System.out.println("输入的数不是有效分数");         }   break; }} 或者switch (i) {  case 100:  case 90:   System.out.println("分数是" + i + " 等级为A");    break;  case 80:   System.out.println("分数是" + i + " 等级为B");    break;  case 70:   System.out.println("分数是" + i + " 等级为C");   case 60:System.out.println("分数是" + i + " 等级为D");   default:                   if(i=0 i=10){               System.out.println("分数是" + i + " 等级为E");               }else{               System.out.println("输入的数不是有效分数");               }break;  }

(2)利用教材上的Scanner类写出完整程序和运行结果(截屏)不需要打包

(3)从键盘获取数据的办法一:利用命令行参数获取数据。其中参数之间用空格分隔。public static void main(String args[])方法中参数args是一个字符串数组,命令行参数被系统以String数组的方式传递给应用程序中的main方法,由args接收,命令行参数使用格式如下:

java 类名 参数1 参数2 ...

其中,参数之间用空格隔开,如果某个参数本身含有空格,则可以将参数用一对引号括起来。

总结:只做不想的 (一定不会成功的,所有的负出都是浪费).只想不做的 (一定不会成功的,但也没有任何负出).敢想敢做的 (不一定会有成功,但有可能会成功).真正成功的 (把成功做为起点,而不是终点,否则成功就变成失败)

java分数参数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java输出分数形式、java分数参数的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-05,除非注明,否则均为首码项目网原创文章,转载请注明出处。