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

用奇数填充数组

张亦
2023-03-14

我必须用奇数的范围(这里是n)填充数组:1,3,5,7,9...但我总是在每个奇数之间有一个0,我不明白为什么。

注:注释中大写字母下的代码是由我们的教授给出的...

public class F5B1 {

    public static java.util.Scanner scanner = new java.util.Scanner(System.in);

    public static void main(String[] args) {

        // Creation of Array : DON'T CHANGE THIS PART OF THE PROGRAM.
        System.out.print("Entrez n : ");
        int n = scanner.nextInt();
        int[] t = new int[n];
        int i;


        // fill the array : PART OF THE PROGRAM TO FULFILL
        // INSTRUCTIONS :
        // ADD NO ADDITIONAL VARIABLES
        // DON'T USE ANY OF THE MATH METHODS
        // DON'T ADD ANY METHODS

        // I wrote this piece of code
        for (i = 0; i < t.length; i++) {
            if (i % 2 != 0) {
                t[i] += i;
            }
        }

        // display of the array : DON'T CHANGE THIS PART OF THE PROGRAM

        System.out.println("Those are the odd numbers : ");
        for (i = 0; i < t.length; i++) {
            System.out.println(t[i]);
        }
    }

}

输出:

Enter n : 10
Those are the odd numbers : 
0
1
0
3
0
5
0
7
0
9

共有1个答案

濮阳钟展
2023-03-14

对于每个偶数索引,您将获得0,因为该索引的值从未设置过。

这一行:

int[] t = new int[n];

声明长度n的int数组,其中每个元素初始化为0。现在考虑您的代码

for (i = 0; i < t.length; i++) {
    if (i % 2 != 0) {
        t[i] += i;
    }
}
for (i = 0; i < t.length; i++) {
    t[i] = 2 * i + 1;
}

(请注意,我编写了=而不是+=:它提供了更好的意图,并且不依赖于数组是用0初始化的事实)

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

  • series(string $value,[ string $categories]) string $value $config = ['path' => './tests']; ​ $fileObject = new \Vtiful\Kernel\Excel($config); ​ $fileObject = $fileObject->fileName('tutorial.xlsx'); $

  • factory 辅助函数 必须 使用 factory 方法来做数据填充,因为是框架提倡的,并且可以同时为测试代码服务。 运行效率 开发数据填充时,必须 特别注意 php artisan db:seed 的运行效率,否则随着项目的代码量越来越大,db:seed 的运行时间会变得越来越长,有些项目多达几分钟甚至几十分钟。 原则是: Keep it lighting speed. 只有当 db:seed

  • 问题内容: 是否有任何语法/软件包允许使用数字范围快速填充Java数组,例如在perl中? 例如 另外,这里提供了一个包,该包允许在上述数字列表中获取第n个数字,而无需实际创建数组(这可能很大)? 例如 实施起来并不太困难,但是我想这可能很普遍,所以也许已经完成了。 问题答案: 不像True Soft的答案那么干净,但是您可以使用Google Guava达到相同的效果: 请注意,您需要一些静态导入

  • 问题内容: 如何用一个列表提供的数据填充数组? 例如,我有一个包含字符串的列表: 然后我想将此数据复制到String数组中: 问题答案: list中有一个toArray()方法… 您必须首先分配一个适当大小的数组(通常为list.size()),然后将其作为参数传递给toArray方法。该数组将使用列表内容初始化。 例如: 您也可以在toArray的括号内进行新调用

  • 我试图用2和5的随机值填充一个数组,但是生成的数字总是从0开始。具体问题如下,以及我目前拥有的代码。 (问题)创建一个名为TwoDarrayu_YourFirstName的公共类,成员如下: 带有头的方法:public静态空填充2DArray(int[][]ma)上述方法将填充ma引用的2D整数数组。数组元素值将在2到5之间随机生成。 到目前为止我的代码: