java中未显示第二个数组的输出

iyr7buue  于 2021-08-25  发布在  Java
关注(0)|答案(2)|浏览(370)

我是java编程的初学者,我创建了一个程序,接受用户输入的10个数字并打印出来。第一部分使用for循环,第二部分使用while循环。第一部分工作正常,第二部分未显示输出。有人能帮我吗?

import java.util.Scanner;

public class ArrayOfTenElements {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    int numArray1[] = new int [10];
    int numArray2[] = new int [10];
    int i;

    //First Section
    Scanner scanner = new Scanner(System.in);
    System.out.println("Enter 10 numbers: ");
    for(i=0;i<10;i++) {
        numArray1[i] = scanner.nextInt();
    }
    System.out.println("The entered numbers are: ");
    for(i=0;i<10;i++) {
        System.out.print(numArray1[i] + " ");
    }

    //Second Section
    System.out.println("\nEnter 10 numbers: ");
    int j = 0;
    while(j<10) {
        numArray2[j] = scanner.nextInt();
        j++;
    }
    System.out.println("The entered numbers are: ");
    while(j<10) {
        System.out.print(numArray2[j] + " ");
        j++;
    }
    scanner.close();
}

}

mzillmmw

mzillmmw1#

在第一次循环后,您没有将变量j重置回0。因此,第二个循环以j的值10开始,因此,while循环不执行。

//Second Section
System.out.println("\nEnter 10 numbers: ");
int j = 0;
while(j<10) {
    numArray2[j] = scanner.nextInt();
    j++;
} 
// add this
j = 0;

System.out.println("The entered numbers are: ");
while(j<10) {
    System.out.print(numArray2[j] + " ");
    j++;
}
suzh9iv8

suzh9iv82#

当您使用last for loop时,当您声明j超出范围时,该循环开头的j值为10。因此,您应该声明新变量并替换其中的while循环。另一件事是您应该使用for loop来显示array2。通常,我们仅在不知道结束时间的情况下使用while循环。因此,我们使用for loop进行此操作。

//Second Section
System.out.println("\nEnter 10 numbers: ");
int j = 0;
while(j<10) {
    numArray2[j] = scanner.nextInt();
    j++;
}

System.out.println("The entered numbers are: ");
for(i=0;i<10;i++) {
    System.out.print(numArray2[i] + " ");
}

相关问题