Java 列表的数组?
我有这个代码,其中我有一个扫描文本文件中每个句子的列表,它会打印以结尾的句子;我想知道我是否可以在每个句子中对每个单词做另一个数组,这样我就可以扫描单词而不是句子了Java 列表的数组?,java,Java,我有这个代码,其中我有一个扫描文本文件中每个句子的列表,它会打印以结尾的句子;我想知道我是否可以在每个句子中对每个单词做另一个数组,这样我就可以扫描单词而不是句子了 import java.io.*; import java.util.*; public class Main { public static void main(String args[]) throws IOException { Scanner sf = new Scanner(new File("a
import java.io.*;
import java.util.*;
public class Main
{
public static void main(String args[]) throws IOException {
Scanner sf = new Scanner(new File("amazing.txt"));
List<String> text = new ArrayList<>();
while (sf.hasNextLine())
{
String current = sf.nextLine();
if (current.endsWith(",") || current.endsWith(";") || current.endsWith("!"))
System.out.println(current);
}
sf.close();
}
}
import java.io.*;
导入java.util.*;
公共班机
{
公共静态void main(字符串args[])引发IOException{
Scanner sf=新扫描仪(新文件(“惊人的.txt”);
列表文本=新的ArrayList();
while(sf.hasNextLine())
{
字符串电流=sf.nextLine();
if(current.endsWith(“,”)| current.endsWith(“;”)| current.endsWith(“!”)
系统输出打印项次(当前);
}
sf.close();
}
}
通常我们不使用扫描器
对象来读取文件,因为它不是最佳实践
请查看@Zabuzard指出的这一点
解决方案:
Scanner sf=新的扫描仪(新文件(“惊人的.txt”);
Listtext=newarraylist<>();
while(sf.hasNextLine()){
字符串电流=sf.nextLine();
//if(current.endsWith(“,”)| current.endsWith(“;”)| current.endsWith(“!”)
//系统输出打印项次(当前);
字符串所有_单词[];
all_words=current.split(“”;//创建一个数组,其中所有字符串用每行空格分隔
System.out.print(“行中的所有字:”);
for(int i=0;i
这将打印每行的所有单词。您可以继续在案例场景中实现登录,并修剪字符串以删除特殊字符
然后,您可以将其添加到列表中
是的,可以将字符串拆分为单词数组。您的代码似乎根本不涉及数组。也许你的意思是列表?“我有一系列的句子”不,你没有。每行都有一个列表
。你没有数组,一行文本和一个句子不一样。此外,你没有任何东西,因为你从不在文本中添加任何内容,因为他每次都试图打印出,所以如果他设法得到一个没有特殊字符的单词,他会将其添加到列表中
,尽管我同意你的观点,标题和问题都必须编辑。如果你想推荐一种现代的文件读取方式,那么就推广NIO(自Java8以来)BufferedReader
也过时了(对于许多任务)。@Zabuzard不知道,非常感谢您的评论,我会继续编辑它!谢谢