Java 数组中按字符划分的每个单词

Java 数组中按字符划分的每个单词,java,file,java.util.scanner,Java,File,Java.util.scanner,我在Java中读取txt文件时遇到问题。我有一个File.txt文件(有如下内容: Lalala Java C++ 我想将其“转换”为数组(例如,tab[0][0]将是L,然后tab[0][1]将是a,等等) 如何执行此操作?如果您有一个字符串,可以通过调用String.tocharray(); 首先,将字符串拆分为单个单词 String myExample = "Lalala Java C++"; String[] lines = myExample.split(" "); 然后将各行拆分

我在Java中读取txt文件时遇到问题。我有一个File.txt文件(有如下内容:

Lalala
Java
C++
我想将其“转换”为数组(例如,
tab[0][0]
将是
L
,然后
tab[0][1]
将是
a
,等等)


如何执行此操作?

如果您有一个
字符串
,可以通过调用
String.tocharray();

首先,将字符串拆分为单个单词

String myExample = "Lalala Java C++";
String[] lines = myExample.split(" ");
然后将各行拆分为字符

String myFirstLine = lines[0];
char[] letters = myFirstLine.toCharArray();
如果您需要在2D数组中使用它,那么您可以执行类似的操作(这是一个完整的示例)

String myExample=“Lalala Java C++”;
String[]line=myExample.split(“”);
char[][]myArray=new char[lines.length][0];

对于(int i=0;i如果你想要的是一个二维数组,问题是数组的宽度必须是较大单词的长度。我认为这不是一个好的做法

如果您创建一个数组列表,可能会更好:

List<char[]> arrays = new ArrayList<char[]>();

String[] words = fullText.split(" "); //or split("\\s+") if the text contains many lines  or many spaces between the words

for(String word: words){
   char[] charsOfWord = word.toCharArray();
   arrays.add(charsOfWord);
}

我们应该为您做作业吗?您尝试了什么?提示,使用文件阅读器创建InputStream>您可以从那里读取行。您是否成功读取了文件?从成功读取行开始,直到您有代码为止。您说您“有问题”-问题是什么?你尝试了什么,你得到了什么错误?这将所有内容转换为一个字符数组,他需要一个字符2d数组是的,我起初不太理解这个要求,但我想我知道他们现在在问什么。
List<char[]> arrays = new ArrayList<char[]>();

String[] words = fullText.split(" "); //or split("\\s+") if the text contains many lines  or many spaces between the words

for(String word: words){
   char[] charsOfWord = word.toCharArray();
   arrays.add(charsOfWord);
}
System.out.println(arrays.get(0)[0]);