Java 将分数输出为十进制程序

标签 java decimal

我应该创建一个程序,从用户那里获取分子和分母值,然后输出该分数的十进制值。但是,当我输入值时,我的输出是 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);
}}

最佳答案

这是因为当您使用 int 时,1/2 等于 0,而不是 0.5。尝试使用 (double) num/den1.0 * num/den 将整数转换为 double

关于Java 将分数输出为十进制程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15675809/

相关文章:

java - 字节和日期字段的 Genson 序列化问题

python - 使用 python 将数字(基于计算)格式化为小数点后两位的百分比

java - 如果 double 是整数,不显示小数?

c# - c# 中的 decimal 误解?

Java |通过 FOR 循环返回一个颠倒的数组

java - 动物园管理员 + 馆长 : watch node remove/remove a watch

java - Spring 4 WebSocket 远程代理配置

java - Apache POI OPCPackage 无法保存 Jasper 报告生成的 XLSX

将文件内容转换为十六进制格式

c - 十进制素数转二进制