Я получаю сообщение об ошибке:Как исправить ошибку «незаконный запуск выражения» в Java?
Error: (65, 3) java: illegal start of expression
Обращаясь к этой линии:
public boolean equals(WordList wordList)
Я думаю, что это вызвано чем-то с областью строки массива WordList[]
. Однако кажется, что это должно быть приемлемым, поскольку я вызываю экземпляр переменной в конструкторе.
Я попытался изменить конструкцию WordList[]
на public equals(WordList wordList)
, boolean equals(WordList wordList)
и другие комбинации, хотя ни одна из этих комбинаций не изменила сообщение об ошибке.
Код:
public class WordList
{
String[] words;
public int count;
//constructor
public WordList()
{
//create a size two array of strings and assign it to words instance variable
words = new String[2];
count = 0;
}
public int addWord(String word)
{
if(findWord(word) == -1) //word not in list
{
return count;
}
if(words.length == count)
{
String[] temp = new String[words.length * 2];
for(int n = 0; n < words.length; n++)
{
temp[i] = words[i];
}
words = temp;
}
words[count] = word;
count++;
return count;
}
public void removeWord(String word) //void bc returns nothing
{
int index = findWord(word); // to minimize how many times we call method
if(index == -1)
{
return;
}
for(int n = index; n < count -1; n++)
{
words[n] = words[n + 1];
}
words[count - 1] = "";
count --;
return;
}
public int findWord(String word) {
//iterate over each word in current list
//return index of word if found
for (int i = 0; i < count; i++)
{
if (words[i].equals(word))
{
return i;
}
return -1;
}
public boolean equals(WordList wordList)
{
boolean boolEquals;
//override equals method in Object class
//first checks if number of words in each WordList is equal
//if true -> iterate through all words in 1 of lists +
if(count == wordlist.count)
{
for(int i = 0; i < count; i++)
{
if(findWord(words[i]) == -1)
{
boolEquals = false;
}
boolEquals = true;
}
}
boolEquals = false;
return boolEquals;
}
public String toString()
{
//provide number of words in a string and then list each word on a new line
String result = "";
result += "There are " + count + " words in the word list: \n";
for(int i = 0; i < count; i++)
{
result += words[i] + "\n";
}
return result;
}
public static void main(String[] args)
{
}
Что вызывает это сообщение об ошибке? Я бы предпочел сохранить конструктор и внести как можно меньше изменений в код, чтобы сделать это скорее опытом обучения, чем просто взять код у кого-то другого.
Это было бы намного легче исправить с помощью правильных вкладок. – Compass
Если бы ваш код был отступом, то было бы легко увидеть, где проблема. – khelwood
@Compass, как мне делать вкладки? –