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

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

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

  1. import java.util.Scanner;
  2. public class ArrayOfTenElements {
  3. public static void main(String[] args) {
  4. // TODO Auto-generated method stub
  5. int numArray1[] = new int [10];
  6. int numArray2[] = new int [10];
  7. int i;
  8. //First Section
  9. Scanner scanner = new Scanner(System.in);
  10. System.out.println("Enter 10 numbers: ");
  11. for(i=0;i<10;i++) {
  12. numArray1[i] = scanner.nextInt();
  13. }
  14. System.out.println("The entered numbers are: ");
  15. for(i=0;i<10;i++) {
  16. System.out.print(numArray1[i] + " ");
  17. }
  18. //Second Section
  19. System.out.println("\nEnter 10 numbers: ");
  20. int j = 0;
  21. while(j<10) {
  22. numArray2[j] = scanner.nextInt();
  23. j++;
  24. }
  25. System.out.println("The entered numbers are: ");
  26. while(j<10) {
  27. System.out.print(numArray2[j] + " ");
  28. j++;
  29. }
  30. scanner.close();
  31. }

}

mzillmmw

mzillmmw1#

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

  1. //Second Section
  2. System.out.println("\nEnter 10 numbers: ");
  3. int j = 0;
  4. while(j<10) {
  5. numArray2[j] = scanner.nextInt();
  6. j++;
  7. }
  8. // add this
  9. j = 0;
  10. System.out.println("The entered numbers are: ");
  11. while(j<10) {
  12. System.out.print(numArray2[j] + " ");
  13. j++;
  14. }
suzh9iv8

suzh9iv82#

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

  1. //Second Section
  2. System.out.println("\nEnter 10 numbers: ");
  3. int j = 0;
  4. while(j<10) {
  5. numArray2[j] = scanner.nextInt();
  6. j++;
  7. }
  8. System.out.println("The entered numbers are: ");
  9. for(i=0;i<10;i++) {
  10. System.out.print(numArray2[i] + " ");
  11. }

相关问题