2010-03-21 2 views
1

Когда я пытаюсь скомпилировать это:класса или интерфейса ожидается ошибка (Java)

public static int compareCardhl (Card c1, Card c2) 
} 
if (c1.suit > c2.suit) return 1 ; 
if (c1.suit < c2.suit) return -1 ; 
if (c1.rank > c2.rank) return 1 ; 
if (c1.rank < c2.rank) return -1 ; 
return 0; 
} 

я получаю много класса или intereface ожидать ошибок. Все они указывают на if's. Я также получаю ошибку ; expected в конце Card c2).

Whats going неправильный здесь?

ответ

5

в строке 2 кронштейна неправильно оно должно быть {

+0

ваше право. Я так плохо разбираюсь в таких вещах. – David

+1

Любой достойный редактор кода может помочь вам с такими функциями, как сложение кодового блока (aka outlining) и совпадение с скобками: если блок не может быть сложен или сгиб ведет себя неправильно (слишком много или слишком мало строк скрыты), что-то не так с скобками блока. Размещение каретки на любом из кронштейнов (нож или ближе) должно выделять соответствующую пару. –

+3

Всё? ЛОЛ. –

1

Небольшое предложение, если я могу, это, вероятно, лучше для того, что вы пытаетесь сделать, что ваш класс Card реализует интерфейс Comparator

public interface Comparator<T> { 
    public int compare(T t1, T t2); 
} 
+0

Почему я должен использовать интерфейс Comparator? – David

+0

Hi David, Интерфейс Comparator предоставит вам возможность упорядочивать флажки во всех коллекциях, которые его поддерживают. Определение компаратора: «Возвращает отрицательное целое число, ноль или положительное целое число, поскольку первый аргумент меньше, равен или больше второго». Похоже, вы пытаетесь выполнить одно и то же, поэтому не нужно повторно изобретать колесо. Он также будет использовать ваш API более интуитивно, поскольку вы используете известный интерфейс. Надеюсь, что это ясно, если нет, пожалуйста, дайте мне знать. – Ioannis

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