2016-11-28 4 views
-2

Я получаю сообщение об ошибке:Как исправить ошибку «незаконный запуск выражения» в 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) 
{ 
} 

Что вызывает это сообщение об ошибке? Я бы предпочел сохранить конструктор и внести как можно меньше изменений в код, чтобы сделать это скорее опытом обучения, чем просто взять код у кого-то другого.

+7

Это было бы намного легче исправить с помощью правильных вкладок. – Compass

+2

Если бы ваш код был отступом, то было бы легко увидеть, где проблема. – khelwood

+0

@Compass, как мне делать вкладки? –

ответ

2

Ваш код отсутствует знак «}» в строке 62 ...

вы, вероятно, следует заменить «я» на «п» в строке 26 тоже ...

+0

Спасибо, теперь исправлено с этими предложениями –

3

Синтаксическая ошибка - отсутствует} в метод

public int findWord(String word) {

+0

Спасибо, теперь исправлено –

 Смежные вопросы

  • Нет связанных вопросов^_^