数字的地板和天花板

时间:2014-07-11 11:22:43

标签: java

向用户询问一个号码,然后打印天花板和地板。

如果我们插入4.66意味着它应该产生输出为5和4 ..但它产生 5.0和4

class Challenge{  
    public static void main(String args[]){  
        Scanner scanner=new Scanner(System.in);  
        System.out.println("Enter a number:"); 
        double dob=scanner.nextDouble();
        System.out.println(Math.ceil(dob));
        System.out.println(Math.floor(dob));
    }  
}  

3 个答案:

答案 0 :(得分:8)

阅读docs

public static double ceil(double a)

Math.ceil会返回double,因此打印值为5.0而不是5是正常的。您必须将其投射到int

System.out.println((int)Math.ceil(dob));

floor也是如此。

Live demo

答案 1 :(得分:0)

Math.ceil(dob)Math.floor(dob)都返回double个值,然后打印为5.04.0

System.out.println(Math.ceil(dob));// double value output
System.out.println(Math.floor(dob));// double value output

您可以使用以下内容来54

System.out.println((int)Math.ceil(dob)); // int value
System.out.println((int)Math.floor(dob)) // int value

答案 2 :(得分:0)

public static double ceil(double a)
public static double floor(double a)

从回报中你可以看到它返回双