如何手动插入字符串数组中的值?

时间:2016-12-23 19:52:57

标签: java jgrasp

我常常遇到一个问题,那就是我应该看哪部电影。所以,我决定制作一个简单的程序来随机选择我的选择但是第一步陷入困境。 我想知道如何将字符串 - 即电影名称 - 分配给数组。这是我未完成的代码

    Scanner input = new Scanner(System.in);

  System.out.println("How many movies are you considering?");
  int number = input.nextInt();
  String[] movies = new String[number];

  System.out.println("Enter movie titles...");

  for(int i=1; i <= number; i++){
     System.out.print(i + "- ");
     movies[i] = input.next();
     System.out.println();
  }

1 个答案:

答案 0 :(得分:0)

您的代码已经在执行此操作。但是,您得到ArrayIndexOutOfBoundsException,因为您的循环设置为将值插入到数组中,直到索引不存在。

数组索引从零开始。这意味着,如果您有一个大小为5的数组,其索引编号为0,1,2,3和4.您当前正在将数组视为基于一个数组;也就是说,好像大小为5的数组的索引为1-5而不是0-4。

要解决此问题,i最初应该等于0,并且您的循环应该在i < number而不是i <= number时终止。