【发布时间】:2013-03-28 06:45:51
【问题描述】:
我应该创建一个程序,该程序从用户那里获取分子和分母值,然后输出该分数的十进制值。但是,当我输入值时,我的输出是 0.000000。这是我的代码:
import java.util.Scanner;
import java.util.Random;
public class fraction
{
public static void main ( String [] args )
{
int num;
int den;
double result;
num = getNum();
den = getDen();
result = getResult(num, den);
printResult(num, den, result);
}
public static int getNum()
{
Scanner input = new Scanner (System.in);
int num;
System.out.print("Please enter the numerator: ");
num = input.nextInt();
return num;
}
public static int getDen()
{
Scanner input = new Scanner (System.in);
int den;
System.out.print("Please enter the denominator: ");
den = input.nextInt();
return den;
}
public static double getResult(int num, int den)
{
double result;
result = num / den;
return result;
}
public static void printResult(int num, int den, double result)
{
System.out.printf("The fraction %d / %d in decimal form is %f\n", num, den, result);
}}
【问题讨论】:
-
wrong division in java 的可能副本(以及许多其他的 - 我会看看能不能找到更好的)
-
我猜你需要在除法时将其类型转换为加倍。
-
向我们展示一些输入输出示例
-
另外,作为一种风格,最好在你有它的值的地方声明一个局部变量 - 而不是在方法开始附近声明所有东西,然后再分配一个值.
-
应该是十进制形式的分数 3 / 4 是 0.75000 我的输出是十进制形式的分数 3 / 4 是 0.000000