#java #arraylist #processing
#java #arraylist #обработка
Вопрос:
Всякий раз, когда я пытаюсь добавить a country
в свой ArrayList<country>
, я продолжаю получать эту ошибку: unexpected token: (
и она выделяет мою countries.add
строку. Я не уверен, почему это происходит.
class country {
private int mland, mwaters; //mtotalborders;
private String mcenter;
country(int earth, int aqua, String yn) {
mland = earth;
mwaters = aqua;
mcenter = yn;
}
public int getLand() {
return mland;
}
public int getWaters() {
return mwaters;
}
public int getTotalBorders() {
return mland mwaters;
}
public String getCenter() {
return mcenter;
}
}
country Turkey = new country(16, 7, "No");
country France = new country(22, 4, "No");
country England = new country(17, 9, "No");
country Germany = new country(26, 4, "Yes");
country Austria = new country(28, 1, "Yes");
country Italy = new country(17, 8, "Yes");
country Russia = new country(23, 3, "No");
ArrayList<country> countries = new ArrayList<country>();
countries.add(Turkey);
Комментарии:
1. Имена классов должны начинаться с заглавной буквы, а объекты — нет. Следующий стиль кода помогает вам понимать другой код и помогает другим читать ваш. вот руководство 🙂
2. Имя класса должно начинаться с символа верхнего регистра, поэтому страна должна быть названа как Country .
3. Так я должен использовать только первую страну или каждый раз? Я написал каждую страну с заглавной буквы и названия стран в нижнем регистре и все равно получил ту же ошибку.
4. Использование a
String
с двумя значениями «Да» или «Нет» — довольно плохая идея. Рассмотрите возможность использования aboolean
или, возможноenum
, вместо. Однако это не связано с проблемой, с которой вы столкнулись.
Ответ №1:
Вам нужно поместить свой код в метод — вы, вероятно, хотите использовать main
метод — см. Ниже.
......
public String getCenter() {
return mcenter;
}
public static void main(String[] args){
country Turkey = new country(16, 7, "No");
country France = new country(22, 4, "No");
country England = new country(17, 9, "No");
country Germany = new country(26, 4, "Yes");
country Austria = new country(28, 1, "Yes");
country Italy = new country(17, 8, "Yes");
country Russia = new country(23, 3, "No");
ArrayList<country> countries = new ArrayList<country>();
countries.add(Turkey);
}
}
Примечание: правильное соглашение заключается в том, чтобы писать имена с заглавной Class
буквы и указывать имена переменных в нижнем регистре.
Для этого потребуется изменить свое Class
имя в коде — см. Ниже.
class Country {
private int mland, mwaters; //mtotalborders;
private String mcenter;
Country(int earth, int aqua, String yn) {
......
Также в любое время, когда вы ссылаетесь на Class
имя. Например.
Country turkey = new Country(16, 7, "No");
Комментарии:
1. При обработке они, вероятно, должны быть в
setup
методе, а не в основной функции.2. В качестве дополнения: вы также можете поместить
countries.add
в блок инициализатора, если хотите, чтобы они добавлялись при запуске.3. @JakeKing Учитывая характер вопроса, я действую в предположении, что это вводное упражнение hw, поэтому здесь приведены основы.
Ответ №2:
Lufval, вы пытаетесь написать код вне определения класса. Объявления глобальных переменных в порядке, исполняемые операторы — нет.
Комментарии:
1. Java не имеет глобальных переменных вне классов. Я думаю, вы имеете в виду попытку написать код вне метода.