java - 如何在 Java 中将 double 组转换为整数数组?

标签 java arrays int double

这是我的家庭作业问题:“创建一个名为 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/

相关文章:

java - 在GLFW Open Gl中,其创建的帧缓冲区在屏幕拉伸(stretch)时不会改变大小

C - 变量 'name' 周围的堆栈已损坏

javascript - 包含不同对象的数组好吗?

java - 为什么 08 在 Java 中不是有效的整数文字?

java.lang.NoClassDefFoundError : org/apache/xpath/XPathAPI 错误

java - 如何从 map 中生成具有不同值的 map (并使用 BinaryOperator 使用正确的键)?

c++ - 字长、字符大小、整数大小和字节之间的关系

Javascript:将 Math.sqrt 转换为 int?

java - 接受 apache poi 中的非负浮点值

javascript - 这是解决这个 JavaScript 练习的好(有效)方法吗