下面是代码,当我除以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
}
}
答案 0 :(得分:3)
将donut
和milk
的数据类型更改为加倍。
这样它将返回double值而不是int。
有关详细信息,请参阅此问题
答案 1 :(得分:0)
如果您希望在分割后需要双重类型donut
,则将milk
和dounutperglass
声明为双重类型。
答案 2 :(得分:0)
数据类型应更改为double。
原因:int无法保存浮动值。
int / int仅给出int。将甜甜圈和牛奶的数据类型更改为两倍。
double / double为您提供准确的结果
答案 3 :(得分:0)
您必须将其中一个术语转换为浮点值,而不是int。
以示例:
donutperglass=((double) donut)/milk;