所以我要创建一个排序字典。我正在文本文件中收集已知单词,我的程序从那里获取它们。我创建了一个WORD类,它有2个变量-拼写和含义。现在,我希望我的词典中有一个toword的方法-因此它将接受单词的拼写并创建一个以该单词的拼写为名称的WORD类型变量。但是Java区分输入是-公用WORD到WORD(字符串拼写)-的“拼写”,并且不会将其输入-WORD拼写=新WORD(拼写,含义)的拼写。而是使用名称“ spelling”(而不是输入的值)创建WORD。我的代码现在包含很多本机语言,就像我现在在学校里所做的那样,但是我现在仅在此处添加必要的部分。
这是WORD类:
private String spelling;
private String meaning;
public WORD(String spelling, String meaning){
this.spelling=spelling;
this.meaning=meaning;
}
public String means(){
return meaning;
}
public String spells(){
return spelling;
}
public boolean is(String smth){
if (smth.equalsIgnoreCase(spelling)){
return 1==1;
}
else{
return 1==0;
}
}
public boolean isSynonym(WORD syno){
if (meaning==syno.means() ) {
return 1==1;
}
else {
return 1==0;
}
}
}
这是词汇类中的方法:
public class vocabulary {
public WORD toWORD(String spelling) throws FileNotFoundException{
File J= new File("vocabulary.txt");
Scanner seeker= new Scanner(J);
String meaning="";
int lineNum= 0;
while (seeker.hasNextLine()){
String line = seeker.nextLine();
lineNum++; //vahetab rida
if(line.startsWith(spelling)) {
meaning= seeker.findInLine( " - ");
}
}
WORD spelling = new WORD (spelling, meaning); //this should be a WORD not named "spelling", but the content of spelling (inputed when writing: vocabulary.toWORD("car"))
return spelling //this should return the new word with the spelling inputed
}
}
我也很难理解文本的含义,因为我对扫描仪命令不太熟悉。我对此进行了一些研究,发现大多数人都使用另一个命令来读取文件,但是由于我没有学过,我宁愿不使用它。
这也是vocabulary.txt的内容(目前):
hello - most common greeting
car - a motor vehicle for transport cargo or people on roads and streets.
candle - a light source made from an easily meltable substance and a solid core
因此在我的主要方法中,我应该能够写WORD car = vocabulary.toWORD(car); 在那之后,我应该能够使用诸如car。意义之类的命令来输出意义。
我希望我的问题可以理解。我的第一个问题是语法错误。现在已经差不多一年没有使用英语了。