java中的数学计算分数
我正在尝试实现基本计算。该程序采用2个数字,它正常工作,10除以5并给出答案2.如果任何较小的值除以较大的值,它会给我0,我可以在小数中得到答案吗?java中的数学计算分数
例8 100等于8/100,而不是0
public class numtheory {
public static void main(String[] args) {
int n1;
int n2;
Scanner scan = new Scanner(System. in);
System.out.println("input number 1: ");
n1 = scan.nextInt();
System.out.println("input number 2: ");
n2 = scan.nextInt();
int temp1 = n1/n2;
System.out.print("\n Output :\n");
System.out.print(temp1);
System.exit(0);
}
}
您需要将您的数字转换为double
分为:相反
double temp = ((double) n1)/n2;
并格式化输出! – 2013-04-25 16:45:02
这给了他一个小数的结果,他想输出为分数。 – NominSim 2013-04-25 16:46:55
答案显示0.08 – newbieprogrammer 2013-04-25 16:48:54
使用整数,你需要用双。 这是因为整数只能包含数字,其中double可以包含十进制数字。
ü可以改变所有的INT两倍或铸由dooing
((double) yourIntValue)
你也可以得到输入的字符串翻一番,并与
double dval=Double.parseDouble(value);
解析它。如果你想要产生一小部分,你可以打印出来:
System.out.println(n1 + "/" + n2);
这将打印出你给的任何数字thoug h,他们不会减少。 但是,您可以自己减少他们的东西,如:
int n = n1;
int d = n2;
while (d != 0) {
int t = d;
d = n % d;
n = t;
}
int gcd = n;
n1 /= gcd;
n2 /= gcd;
,然后打印出来:
System.out.println(n1 + "/" + n2);
参见:http://*.com/questions/474535/best-way-to-在Java中表示分数?rq = 1 – Justin 2013-04-25 17:37:45