将分数转换为十进制数

我在Java书中做了一些练习。我对编程很新。因此,请注意(在代码中)我仍然在第一章。现在我已经做了所有事情,我只是想要确认这是否合法,所以我可以随时继续前进。 如果没有,我真诚地感谢不要为我做我的代码;我想要建议。 这是书中写的问题, “编写一个应用程序,提示/读取分数的分子和分母作为整数,然后打印分数的十进制等值。” 我将用我的代码说明这句话: 我在这里做了修改。这一个好吗?..
import java.util.*;
public class ExerciseEleven {
public static void main (String[] args) {
Scanner sc = new Scanner (System.in);

    double fraction;
    int fractionValue;
    int decimal;
    double value;

    System.out.println("Enter Numerator: ");
    int numerator = sc.nextInt();
    System.out.println("Enter Denominator: ");
    int denominator = sc.nextInt();

    fraction = (double) numerator / denominator;
    fractionValue = (int) (fraction * 10);
    decimal = fractionValue % 10;
    value = decimal * 0.1;


    System.out.println(value);
}
}
它编译并正常工作。 谢谢。     
已邀请:
它没有做任务所说的应该做的事情。你读取双打而不是整数,十进制等值不是你打印出来的。 1/2的十进制等值是0.5。你打印5。 此外,您可以注意您的代码样式:变量名通常用lowerCamelCase编写,如:
simpleVariable
。 更新 现在它打印出你需要的东西。但是,你不是以正确的方式做到这一点,你的缩进仍然可以改善。     
这很好(我没有很好地阅读作业,是吗?感谢弗拉基米尔。)但是有些评论: 通常你想在类中缩进方法。 标准做法是仅对类型(例如,类,接口,枚举)使用初始大写(
Numerator
)。变量,字段和方法名称应以小写字母开头。现在,您可以自由地忽略标准练习,但如果您这样做,人们在阅读代码时会遇到很多麻烦。 :-) 对于舍入,您可能希望查看
Math.round
而不是使用强制转换截断。但是这项任务没有说明四舍五入。 您可能想要处理
denominator
为零的情况。 所以记住这些:
import java.util.*;

public class ExcerciseEleven  {

    public static void main (String[] args) {
        Scanner sc = new Scanner (System.in);

        System.out.println("Enter Numerator: ");
        int numerator = sc.nextInt();
        System.out.println("Enter Denominator: ");
        int denominator = sc.nextInt();
        if (denominator == 0) {
            System.out.println("Can't divide by zero");
        }
        else {
            double fraction = (double)numerator / denominator;
            System.out.println(fraction);
        }
    }
}
    
嘿我正在考虑这个问题,在看完这个来源之后我注意到了一些有趣的事情,这里是我计划实施的算法 首先,我将使用。转换公制中的数字 Javax.Measure系列功能和我会得到一些数字 0.3750 然后我将数字除以ONE_SIXTEENTH = 0.0625
ONE_SIXTEENTH = 0.0625
答案0.3750 / ONE_SIXTEENTH = 6; 所以现在我知道有6个十六分之一英寸 接下来我检查6是否可以被4,6 / 4 = 1.5整除,即不是整数,所以现在仍然认为该分数为6/16英寸 接下来我检查6是否可被2,6 / 2整除 这是一个整数,所以我们将用它来重构分数 所以现在我们已经将6除以2并得到3,需要将16除以2,最后得到8,因此6/16英寸变为3/8英寸。 PS有没有人注意到这类似于fizz bang程序? ____________________________________________ 这是帮助我了解这个问题的图表 我的工作     

要回复问题请先登录注册