Java分割数字

时间:2014-08-25 10:28:47

标签: java exception-handling decimal-point

下面是代码,当我除以5/6时,它显示0.0输出而不是0.8333。

package sunday;

import java.util.Scanner;

public class exception {
    public static void main(String[] args) {
        int donut,milk;
        double donutperglass;
        Scanner in=new Scanner(System.in);
        try{
            System.out.println("enter donut");
            donut=in.nextInt();
            System.out.println("enter milk");
            milk=in.nextInt();

            if(milk<1)
                throw new Exception("no milk");

            donutperglass=donut/milk;
            System.out.println(donutperglass);
        }catch(Exception e){
            System.out.println(e.getMessage());
            System.out.println("go buy some milk");
        }
        System.out.println("end");
        // TODO Auto-generated method stub    
    }    
}

4 个答案:

答案 0 :(得分:3)

donutmilk的数据类型更改为加倍。

这样它将返回double值而不是int。

有关详细信息,请参阅此问题

Integer division: How do you produce a double?

答案 1 :(得分:0)

如果您希望在分割后需要双重类型donut,则将milkdounutperglass声明为双重类型。

答案 2 :(得分:0)

数据类型应更改为double。

原因:int无法保存浮动值。

int / int仅给出int。将甜甜圈和牛奶的数据类型更改为两倍。

double / double为您提供准确的结果

答案 3 :(得分:0)

您必须将其中一个术语转换为浮点值,而不是int。

以示例:

donutperglass=((double) donut)/milk;