当前位置: 首页 > 知识库问答 >
问题:

用递减值填充数组

宗政和韵
2023-03-14

试图找到用从23开始的一些值按降序填充数组的最简单方法。我有下面的代码,但没有得到我正在寻找的结果:

int[] arr = new int[8];
int i = 24;
Arrays.fill(arr, --i);
System.out.println(Arrays.toString(arr));

现在输出

[23, 23, 23, 23, 23, 23, 23, 23]

预料之中

[23, 22, 21, 20, 19, 18, 17, 16]

如果可能的话,没有for/while循环,如何轻松填充数组并获得预期的输出?

共有3个答案

穆智刚
2023-03-14

您需要按降序编写一个for循环来完成和显示数组。

汪明德
2023-03-14

你可以使用流:

IntStream.iterate(23, i -> i - 1)
            .limit(8)
            .toArray();
荆梓
2023-03-14

为什么不直接使用for循环呢?

for (int j = 0; j < arr.length; j++) {
    arr[j] = i;
    i--;
}

您也可以使用Arrays.setAll功能

Arrays.setAll(arr, (index) -> i - index);

顺便说一下,数组。fill将用给定的值填充all数组,因此得到[23,23,23,23,23,23,23]

 类似资料:
  • 我正在制作一个使用tableView的程序。一切都进行得很顺利,只是由于某些原因,我无法获得要填充到表中的整数值。下面是我在主程序中的代码,当我运行程序时,字符串和Double填充,但整数没有。在我的产品类中,sku是int。不太确定哪里出了问题,寻找一些洞察力! 这里是发票对象和添加产品。

  • 我必须用奇数的范围(这里是)填充数组:1,3,5,7,9...但我总是在每个奇数之间有一个0,我不明白为什么。 注:注释中大写字母下的代码是由我们的教授给出的... 输出:

  • 我正在尝试合并两个数据帧: 第一个数据帧,,用INTEGERS/STRINGS填充 左边的数据框一起被整数/列表填充。 当我使用pandas函数时,新的数据框将用NaN填充右侧的数据框,而不是列表 我期望使用两个原始数据帧中的值创建一个新的合并数据帧。相反,在新的数据框中,“control”数据框中的所有值都是正确的,但“together”数据框中的所有列表都是正确的 以下是一些样本数据: 以下是

  • 问题内容: 我需要使用构造函数创建一个数组,添加一个将数组打印为序列的方法,以及一个使用double类型的随机数填充数组的方法。 到目前为止,这是我所做的: 我正在努力弄清楚如何用在randomFill方法中生成的随机数填充数组。谢谢! 问题答案: 您需要添加逻辑以使用 randomFill 方法将随机值分配给double []数组。 更改 至 然后,您可以调用方法,包括main方法中的list(

  • Arrays 类提供了一个 fill() 方法,可以在指定位置进行数值填充。fill() 方法虽然可以填充数组,但是它的功能有限制, 只能使用同一个数值进行填充。语法如下: 其中,array 表示数组,value 表示填充的值。 例 1 声明一个 int 类型的 number 数组,然后通过 for 语句进行遍历,在该语句中调用 Arrays 类的 fill() 方法来填充数组,并输出数组中元素的

  • 问题内容: 我试图弄清楚如何将数组中的一组字母值向下移动一个步骤。例如,我的数组包含值(“ d”,“ e”,“ f”,“ g”,“ h”),而我想将其更改为(“ c”,“ d”,“ e”,“ f” “, “G”)。这是我正在使用的代码: 当我使用正值时,字母会改变;但是,负数似乎根本不起作用。 问题答案: PHP已超载了字符串;并非如此。你可以做同样的事情更清洁的代码,以及: 这是一个演示。请注意