向用户询问一个号码,然后打印天花板和地板。
如果我们插入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));
}
}
答案 0 :(得分:8)
阅读docs:
public static double ceil(double a)
Math.ceil
会返回double
,因此打印值为5.0
而不是5
是正常的。您必须将其投射到int
。
System.out.println((int)Math.ceil(dob));
floor
也是如此。
答案 1 :(得分:0)
Math.ceil(dob)
和Math.floor(dob)
都返回double
个值,然后打印为5.0
和4.0
System.out.println(Math.ceil(dob));// double value output
System.out.println(Math.floor(dob));// double value output
您可以使用以下内容来5
和4
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)
从回报中你可以看到它返回双