如何将一行输入分隔为数组元素的数组?(Java)

时间:2015-02-15 02:39:42

标签: java arrays java.util.scanner

使用扫描仪读取输入线。我认为有一种方法可以直接将线插入数组并将其分成字符串元素(除以空格)。

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        int numberOfStudents = input.nextInt();
        input.nextLine();
        String[][] partners = new String[2][numberOfStudents];
        partners[1] = input.nextLine();
    }
}

1 个答案:

答案 0 :(得分:1)

我试图将您的代码重写为您想要的代码。你能尝试确切地说明你想要做什么吗?

import java.util.Scanner;

public class Main
{

    public static void main(String[] args)
    {
       Scanner input = new Scanner(System.in);
       int numberOfStudents = input.nextInt();
       //input.nextLine();
       String[][] partners = new String[2][numberOfStudents];
       for(int i=0; i<numberOfStudents; i++)
       {
          partners[1][i] = input.nextLine();
       }
    }
}

我认为你正在寻找分裂。 例如:

    String val="I am a String";
    String [] tabDelimitedVals=val.split(" ");

这可以在这里的堆栈溢出帖子中看到: How to split a string in Java

要从文件中读取,您可以使用

BufferedReader br = new BufferedReader(new FileReader("file.txt"));
try {
    StringBuilder sb = new StringBuilder();
    String line = br.readLine();

    while (line != null) {
        sb.append(line);
        sb.append(System.lineSeparator());
        line = br.readLine();
    }
    String everything = sb.toString();
} finally {
    br.close();
} 

上述内容取自:Reading a plain text file in Java

你可以一起做:

BufferedReader br = new BufferedReader(new FileReader("file.txt"));
try {
    String val=br.readLine();
    String [] splitted=val.split(" ");
}
finally {
   br.close();
}