这是我的家庭作业问题:“创建一个名为 roundAllUp()
的方法,该方法接受一个 double 组并返回一个新的整数数组。这个返回的数组包含该数组中的所有数字 double ,但四舍五入。”
这是我到目前为止的方法:
public static int[] roundUp(double[] array2){
for(int i = 0; i < array2.length; i++){
Math.ceil(array2[i]);
}
}
一旦将 double 组中的值向上舍入,如何将它们返回到整数数组中?
最佳答案
您已经很接近了,您需要创建一个新的 int
数组并分配 Math.ceil
调用的结果(使用适当的转换) 。就像,
public static int[] roundUp(double[] array2) {
int[] arr = new int[array2.length];
for (int i = 0; i < array2.length; i++) {
arr[i] = (int) Math.ceil(array2[i]);
}
return arr;
}
如果您使用的是 Java 8+,您还可以使用 DoubleStream
并将每个元素映射到 int
,然后在一行中转换为数组。就像,
public static int[] roundUp2(double[] array2) {
return DoubleStream.of(array2).mapToInt(d -> (int) Math.ceil(d)).toArray();
}
关于java - 如何在 Java 中将 double 组转换为整数数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46841579/