Java 将字符串输入到数组中

Java 将字符串输入到数组中,java,arrays,string,Java,Arrays,String,我想从扫描器输入收集的字符串,然后将它们放入字符串[]我遇到的问题是我找不到在几个语句中输入它们的方法。我不想有任何循环,因为我不想让要求名字的消息重复20次。我想输入20个名字,每个名字之间有一个空格,在一个数组中输入20个不同的空格 import java.util.Scanner; public class Gradebook { String[] lastName; String[] firstName; int[] ID; int[][] testGrades; int[][] hwG

我想从扫描器输入收集的字符串,然后将它们放入字符串[]我遇到的问题是我找不到在几个语句中输入它们的方法。我不想有任何循环,因为我不想让要求名字的消息重复20次。我想输入20个名字,每个名字之间有一个空格,在一个数组中输入20个不同的空格

import java.util.Scanner;
public class Gradebook {
String[] lastName;
String[] firstName;
int[] ID;
int[][] testGrades;
int[][] hwGrades;
    public Gradebook(String[] lastName, String[] firstName, int[] ID, int[][] testGrades, int[][] hwGrades){
            Scanner input = new Scanner(System.in);
        this.lastName = new String[20];
        this.firstName = new String[20];
        this.ID = new int[20];
        this.testGrades = new int[20][5];
        this.hwGrades = new int[20][5];
            System.out.println("Enter last names of all people in alphbetical order: ");
            // this was my attempt to input them: 
         lastName[] = input.next();
    }

}

更好的方法是使用空格整体读取字符串,然后按如下方式从空格中拆分:

String input="asd asd";
String result[]=input.split("\\s+");
输出:


输入字符串将包含用空格分隔的单词

我不确定我是否清楚地理解了你的问题,但这里有一些代码:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String[] names = (in.nextLine()).split(" ");

 /* an input such as the following:
    this is an example

   would result in the following:
   names[] = {"this", "is", "an", "example"}; */
   }
}

更好的方法是使用StringBuilder@EvanBechtol,我不知道为什么在这种特殊情况下它会起作用,但我希望您能发表评论,因为我同意默认使用StringBuilder是一个很好的习惯。如果您发现自己试图用字符串做任何事情,但不是最琐碎的事情,那么StringBuilder就是您的人。这是一种比StringBuffer更干净的方法。
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String[] names = (in.nextLine()).split(" ");

 /* an input such as the following:
    this is an example

   would result in the following:
   names[] = {"this", "is", "an", "example"}; */
   }
}