在我正在开发的程序中,我创建了一个循环,以接收20个单独的字符作为用户输入,转换为char,存储在array2中,然后将array2返回给main。当我运行我编写的程序时,似乎我编写的代码没有将字符正确存储在array2中。

在主要方面:

// Create array to hold user's answers, and pass answers to the array.
char array2[ ] = new char[20];
getAnswers(array2);


在getAnswers()中:

// getAnswers method requests user input and passes to array2.
public static char[ ] getAnswers(char array2[ ])
{
   String input;  // Holds user input.

   Scanner keyboard = new Scanner(System.in);

   // Request user input.
   System.out.println("Enter the answers for the the multiple choice exam.");

   // Loop to receive input into array.
   for (int index = 0; index < 20; index++)
   {
      System.out.print("Enter number " + (index + 1) +": ");
      input = keyboard.nextLine();
      array2 = input.toCharArray();
   }
   return array2;
}

最佳答案

尝试

array2[index] = input.charAt(0);


在将值获取到输入变量中之后,而不是每次循环时都为其分配一个新的char数组。

关于java - JAVA-将数组返回给main,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4310349/

10-10 05:37