第一次创建数组

时间:2018-02-28 05:50:57

标签: java

我的任务是:创建一个Class,在数组中存储100个整数。调用您的类“SimpleArray”,并将其存储在名为“SimpleArray.java”的文件中。所有代码都应该放在main()方法中。首先声明一个包含100个整数的数组。使用for循环将数字存储在数组中的500到599之间。然后构建第二个循环以打印出该数组中的数据。

这就是我所拥有的。

public class SimpleArray {
    public static void main(String[] args) {
        int[] myArray = new int[100];

        for (int i = 0; i < myArray.length; i++) {
            myArray[i] = i + 1;
        }   

        for (int y = 500; y < 599; y++) {
            System.out.println(myArray[y]);
        }
    }
}

任何帮助将不胜感激我不太了解如何做两个不同的循环。我的程序有效,但它并没有完成我的任务要求它做的事情。

5 个答案:

答案 0 :(得分:1)

首先存储数字

for (int i = 0; i < myArray.length; i++) {
    myArray[i] = i + 500;  // store [0] = 0 + 500, [1] = 1 + 500 etc
}   

然后打印

for (int y = 0; y < myArray.length; y++)
        System.out.println(myArray[y]);
}

还有一种更简单的方法来打印整个数组

    for (int val : myArray) {
        System.out.println(val);
    }

答案 1 :(得分:0)

您老师使用的学习材料已过时。

  

创建一个Class以在Array中存储100个整数。打电话给你的班级   “SimpleArray”,并将其存储在名为“SimpleArray.java”的文件中。所有   代码应该放在main()方法中。首先声明一个100的数组   整数。

到目前为止,你做得很好。

填充数组的现代方法是使用range / toArray:

int[] myArray = IntStream.range (0, 100).toArray ();

它可以更好地抵御程序员所熟知的一对一错误。它遵循RAII的良好实践:资源分配是初始化。

然而,从未说过,要使用0到99之间的值填充数组。

  

使用for循环存储介于500和599之间的数字   数组。

好的,为了将值设置为新值,基于旧值,也有一些创新,对于老程序员来说大多是未知的,这些创新坚持过时的概念(如果已经完成,则将它们初始化为0。 .99):

Arrays.setAll (myArray, i ->  myArray[i] + 500);

这很优雅,不是吗?并且它与大小无关,这意味着,如果您决定将阵列更改为new int [200]或50,则不需要触摸此代码。好吧,但练习说:&#34;使用for循环将数字存储在数组中的500到599之间。&#34;所以你不能使用它,但你可能会问你的老师,你可能会使用哪个Java版本 - Java-1.4?

如果数组初始化为100个零,这是一种替代方法,这是默认值:

int[] myArray = new int[100]; // 100 Zeros

IntStream.range (0, 100).forEach (i -> myArray[i] = i + 500);

IntStream.range (500, 600).forEach (i -> myArray[i-500] = i);

或更好:

IntStream.range (0, myArray.length).forEach (i -> myArray[i] = i + 500);
IntStream.range (500, 500 + myArray.length).forEach (i -> myArray[i-500] = i);

对数组大小更改做出灵活反应。

  

然后构建第二个循环以打印出该数组中的数据。

对于输出,你可能会使用简化的for循环,大约十年左右,仍然没有被群众调整:

for (int i : myArray) 
    System.out.print (" " + i ); 

500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598

对于初学者来说,这可能也不合适,但对于有相同问题的人,如何初始化数组,如何操作数组,如何进行输出,答案应该是一般性答案。

这就是现代风格的Java8,afaik。所以人们,从其他现代语言转换到Java,他们可能会感觉更好地服务于这个答案,这可能与他们从语言中所知道的相似。

初学者的关键通常是,不要将Array的索引与存储在该索引中的值混淆。

由于存在用于字符串的数组,用于双打,用于JButton和所有内容的数组,您可以想象,从除了int之外的其他内容开始,它将在教学上更有用。

答案 2 :(得分:-1)

试试这个。这可能有助于你

public class SimpleArray  {

        public static void main(String args[]) {

            int[] myArray = new int[100];

            for (int i = 0; i < myArray.length; i++) {
                myArray[i] = i + 500;
            }   

            for (int i = 0; i < myArray.length; i++) {
                System.out.println(myArray[i]);
            }

        }

    }

答案 3 :(得分:-1)

试试这个

 int[] myArray = new int[100];

    for (int i = 0; i < myArray.length; i++) {
    myArray[i] = i + 500;
    }   

    for (int y = 0; y < myArray.length; y++) {
        System.out.println(myArray[y]);
    }

答案 4 :(得分:-1)

public class SimpleArray {
    public static void main(String[] args) {
        int[] myArray = new int[100];

        for (int i = 0; i < myArray.length; i++) {
            myArray[i] = i + 500;
        }   

        for (int y = 0; y < myArray.length; y++) {
            System.out.println(myArray[y]);
        }
    }
}

System.out.println(myArray [y]),这里y指的是索引而不是值。 因此没有500 +的索引,只有100个从0开始并以99结束的索引。