Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 爪哇木瓦对_Java_Arrays_Arraylist - Fatal编程技术网

Java 爪哇木瓦对

Java 爪哇木瓦对,java,arrays,arraylist,Java,Arrays,Arraylist,我在用一个程序从文本文件中的每个句子创建木瓦对时遇到了问题。现在,我的代码读取Java中的.txt文件,并按顺序输出每个句子。我想分别存储每个句子,然后获取每个句子并创建它们的2个字符的木瓦,这些木瓦将存储在一个数组中。这方面的一个例子是,把句子“敏捷的棕色狐狸”变成{th,he,e,q,qu,ui,ic,ck,k,b,br,ro,ow,wn,n,f,fo,ox},这样就可以解释单词之间的所有空格。我的目标是简单地获取每个句子,并为每个句子创建一个数组,以容纳上面示例中的木瓦对。我的问题是我不知

我在用一个程序从文本文件中的每个句子创建木瓦对时遇到了问题。现在,我的代码读取Java中的.txt文件,并按顺序输出每个句子。我想分别存储每个句子,然后获取每个句子并创建它们的2个字符的木瓦,这些木瓦将存储在一个数组中。这方面的一个例子是,把句子“敏捷的棕色狐狸”变成{th,he,e,q,qu,ui,ic,ck,k,b,br,ro,ow,wn,n,f,fo,ox},这样就可以解释单词之间的所有空格。我的目标是简单地获取每个句子,并为每个句子创建一个数组,以容纳上面示例中的木瓦对。我的问题是我不知道该怎么做。我似乎不知道如何把句子分开储存,我也不知道如何创建木瓦对。我对Java还是个新手,非常感谢您的帮助。以下是我目前的代码:

//Takes .txt file as command-line input parameter
File file = new File(args[0]);
Scanner scanner = new Scanner(new FileInputStream(file)); 
int i=0;

//Reads in and outputs each line from the file
while (scanner.hasNextLine()) {
System.out.print(++i + " : " + scanner.nextLine() + "\n");
}  

只需选取从[0,1]到[last-1,last]的字符对

String[] result = new String[sentence.length() - 1];
for (int i = 0; i < sentence.length() - 2; i++)
{
    result[i] = sentence.substring(i, i + 2);
}
String[]result=新字符串[句子.length()-1];
for(int i=0;i<句子长度()-2;i++)
{
结果[i]=句子子串(i,i+2);
}

如果您需要,您可以在本周期结束后使用
trim()
删除空格。

要拆分成句子,可以使用模式匹配。只需定义任务的有效sentene即可。这里我假设一个句子总是以点、问号或感叹号结尾;下一个句子在一个或多个空格后开始

final Pattern sentencePattern = Pattern.compile("[\\.\\?!]+\\s+");
sentencePattern.splitAsStream(text).forEach(
        System.out::println //your code here
);

非常感谢,这正是我需要的。