我有这个片段,我想知道如何遍历这个文件的令牌。正如你们所见,我用扫描仪读了一遍,我把infle当成了未解析的。这是可以理解的,因为infle是一个扫描仪,我的意思是,一个对象,但我该如何使循环遍历文件?其思想是读取包含多个单词的文件内容,将每个单词转换为小写,并将其全部放入哈希集中。
import java.io.File;
import java.util.*;
public class CheckSpelling{
public static void main(String[] args) {
//Create HashSet to store our data.
HashSet<String> words = new HashSet<String>();
try {
//Read file words.txt
Scanner filein = new Scanner (new File("/classes/s09/cs225/words.txt"));
}
catch(Exception e) {
e.printStackTrace();
}
//While there exists another word next...
while (filein.hasNext()) {
//Go to next word
String tk = filein.next();
//Convert that word into lower case...
tk.toLowerCase();
//add the word to our collection of data.
words.add(tk);
}
}
}
您将其放入java类中,它将生成未解析的infle。请帮我克服这一点。如果您在复制异常时遇到问题,请告诉我。
提前谢谢。
您将infile变量设置为未解析,因为您在try catch中声明了它。该变量的范围只是try catch,您正在尝试在外部使用它。
下面的示例不会抛出该错误。
import java.io.File;
import java.util.*;
public class CheckSpelling{
public static void main(String[] args) {
//Create HashSet to store our data.
HashSet<String> words = new HashSet<String>();
try {
//Read file words.txt
Scanner filein = new Scanner (new File("/classes/s09/cs225/words.txt"));
//While there exists another word next...
while (filein.hasNext()) {
//Go to next word
String tk = filein.next();
//Convert that word into lower case...
tk.toLowerCase();
//add the word to our collection of data.
words.add(tk);
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}
这就是解决办法:你只需要更正括号。
public static void main(String[] args) {
//Create HashSet to store our data.
HashSet<String> words = new HashSet<String>();
try {
//Read file words.txt
Scanner filein = new Scanner (new File("your path"));
//While there exists another word next...
while (filein.hasNext()) {
//Go to next word
String tk = filein.next();
//Convert that word into lower case...
tk.toLowerCase();
//add the word to our collection of data.
words.add(tk);
}
}
catch(Exception e) {
e.printStackTrace();
}
}
我在同一个目录中有几个具有相同结构的。json文件。我想从每个json文件的一些键创建一个具有值的唯一csv文件。 通过一个文件循环,一切都正常。下面是脚本的快照:
我正在尝试使用Netty4.1编写一个TCP服务器,它将承载数千个持久连接(TL)。x、 在性能测试期间,我们观察到,如果有几千个到服务器的连接,然后我们得到一个突发的连接,比如说另外几千个连接,这些新的SSL握手会使工作线程长时间处于繁忙状态,这会导致现有连接开始超时。在internet上提供的所有Netty示例中,我看到服务器是这样引导的: 我想知道我是否可以使用两个工人组而不是一个。因此,我
顺便说一下,我搜索了一下这种情况,我认为我没有使用数组索引或者错误地使用了错误的指针。另外,我在这里看到了同样的问题,但我想知道为什么代码不能工作,然后自己解决这个问题。非常感谢大家的帮助。
我有一个try-catch块,它检查来自Scanner的输入是否为int。但它只是一次又一次地循环询问要发送多少人。。然后说错误:不是一个数字。没有实际提示用户输入不同的数字。 输入int以外的内容时的输出示例。
问题内容: 我想做的是请用户输入一些字符串以读入数组,然后要求用户输入该数量的字符串并将其读入数组。当我运行此代码时,它从不要求我在第一个for循环的第一个循环中输入内容,只打印出“字符串#0:字符串#1:”,然后我就可以输入文本了。为什么会这样,我做错了什么? 问题答案: 缓冲。 输入输入数量时,不会在输入缓冲区中占用换行符的位置。在for循环的迭代0中,缓冲区中已经有一行输入,并且可以立即完成
问题内容: 这是一个非常简单的for循环: 我知道它主要如何工作,但是我不明白最后的工作方式:如果我是对的,它应该加1,但是当它打印出时,它先打印0,然后再打印1。 为什么为什么不从1开始就因为?为什么仍然只打印出原始值而不是原始值? 问题答案: 一个循环的工作方式如下: 初始化完成(在您的情况下;仅执行一次) 条件检查(此处),如果条件为假,则退出循环 大括号内的代码已执行(根据您的情况) 更新