关于整数相除问题,要求结果用整数或者是分数表示,不能用小数。。。求思路 想编写一个辅助计算单纯形法的应用程序,实现的一个要求就是两个数据相除,若是不能整除就用分数表示。(简单说就是两个数相除,结果显示为整数或者是分数)但是在java中两个数一相除就变成了小数(当然或者是整数)大家有没有好的建议呢来帮助我实现这个想法呢?需要编写一个分数类吗?有这个必要吗?有没有更好的方法呢、、、谢谢啦~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先加个判断,大于0就直接出结果,小于零的话,对除数跟被除数做约分运算,组合成String输出就得了。 Apache Commons Math 中的分数类:org.apache.commons.math.fraction.Fractionhttp://commons.apache.org/math/ import java.util.Scanner;class Division{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); long a=sc.nextInt(); long b=sc.nextInt(); sc.close(); double c=a; //long转换为double类型 if(a/b!=c/b){ //比较结果为整数的值与结果为浮点数的值是否相等 int i=a>b?(int)Math.floor(Math.sqrt(Math.abs(b))): (int)Math.floor(Math.sqrt(Math.abs(a)));//取较小数的绝对值的平方根 for(int count=2;count<=i;count++){ if(a%count==0&&b%count==0){ a/=count; b/=count; count--; } else{ continue; } } System.out.println(a+"/"+b); } else{ System.out.println(a/b); }}} 关于Srping定时器jobClass的一个问题,在线等.... 多线程中Callable/Future的疑问 求能人解析以下五子棋判断输赢的核心代码是什么意思 谁有有关正则表达式方面的资料或者资料地址? 关于初学java中equals的一个问题 问一个关于批量处理按钮事件的问题 数据库返回ResultSet的问题?(在线等待)(帮忙顶一下也给分) 高手帮忙!关于SOCKET问题 一道难题:关于String 和byte[]的转换 我用java开发的俄罗斯方块有一点问题????想找个人帮忙, [BK_求助]服务器搭建:两台电脑,一台端口监听,一台业务处理 a=a+5;与a+=5 真的一样吗?
http://commons.apache.org/math/
class Division{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
long a=sc.nextInt();
long b=sc.nextInt();
sc.close();
double c=a; //long转换为double类型
if(a/b!=c/b){ //比较结果为整数的值与结果为浮点数的值是否相等
int i=a>b?(int)Math.floor(Math.sqrt(Math.abs(b))):
(int)Math.floor(Math.sqrt(Math.abs(a)));//取较小数的绝对值的平方根
for(int count=2;count<=i;count++){
if(a%count==0&&b%count==0){
a/=count;
b/=count;
count--;
}
else{
continue;
}
}
System.out.println(a+"/"+b);
}
else{
System.out.println(a/b);
}
}
}