Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Картинка это ссылка на паст бин.Объясняй нормально. а такой троллинг тонкий, что картинку с нета спер - топ. Хорошо, что я удосужился проверить, что это за творение гугла
я написал, что удосужился проверить, а дальше - в коде он использует в addKey,removeKey переменную keys. Видимо не дошло использовать keys.put(p.getname(),keys.getOrDefault(p.getname(),0)-1);Картинка это ссылка на паст бин.
Теперь вопрос в ТС.
HashMap<String, Integer> keys = new HashMap<>();
void add(Player p, int key){
keys.put(p.getNmae(), key)
}
void remove(Player p, int key) {
int _key = keys.get(p.getName());
_key -= key;
keys.put(p.getName(), _key);
}
Что из этого тебе не понятно?
CSS код)что картинку с нета спер - топ
Посмотри внимательно на пасте бине.Картинка это ссылка на паст бин.
Теперь вопрос в ТС.
HashMap<String, Integer> keys = new HashMap<>();
void add(Player p, int key){
keys.put(p.getNmae(), key)
}
void remove(Player p, int key) {
int _key = keys.get(p.getName());
_key -= key;
keys.put(p.getName(), _key);
}
Что из этого тебе не понятно?
Да пример работы показал, я как бы вообще не понял, что ты пытаешься сделать. И где у тебя переменная keys объявлена.Посмотри внимательно на пасте бине.
она статическая я паст бин обновлял.Да пример работы показал, я как бы вообще не понял, что ты пытаешься сделать. И где у тебя переменная keys объявлена.
Небезопасный код. Лучше так:HashMap<String, Integer> keys = new HashMap<>();
void add(Player p, int key){
keys.put(p.getNmae(), key)
}
void remove(Player p, int key) {
int _key = keys.get(p.getName());
_key -= key;
keys.put(p.getName(), _key);
}
HashMap<String, Integer> keys = new HashMap<>();
int get(Player p) {
Integer i = keys.get(p.getName());
return i == null ? 0 : i;
}
void add(Player p, int key) {
if (key > 0) {
String name = p.getName();
Integer i = keys.get(name);
if (i == null)
keys.put(name, key);
else
keys.put(name, i + key);
}
}
void remove(Player p, int key) {
if (key > 0) {
String name = p.getName();
Integer i = keys.get(name);
if (i != null) {
i -= key;
if (i > 0)
keys.put(name, i);
else
keys.remove(name);
}
}
}
Ребята ну если помогаете то посмотрите на паст бине я для кого код оставлял.Небезопасный код. Лучше так:
Java:HashMap<String, Integer> keys = new HashMap<>(); int get(Player p) { Integer i = keys.get(p.getName()); return i == null ? 0 : i; } void add(Player p, int key) { if (key > 0) { String name = p.getName(); Integer i = keys.get(name); if (i == null) keys.put(name, key); else keys.put(name, i + key); } } void remove(Player p, int key) { if (key > 0) { String name = p.getName(); Integer i = keys.get(name); if (i != null) { i -= key; if (i > 0) keys.put(name, i); else keys.remove(name); } } }
И скинул не инкапсулированный код, норм.Небезопасный код. Лучше так:
Java:HashMap<String, Integer> keys = new HashMap<>(); int get(Player p) { Integer i = keys.get(p.getName()); return i == null ? 0 : i; } void add(Player p, int key) { if (key > 0) { String name = p.getName(); Integer i = keys.get(name); if (i == null) keys.put(name, key); else keys.put(name, i + key); } } void remove(Player p, int key) { if (key > 0) { String name = p.getName(); Integer i = keys.get(name); if (i != null) { i -= key; if (i > 0) keys.put(name, i); else keys.remove(name); } } }
Ну ясен пень у обоих 20 потом... Ты ж используешь глобальную переменную для хранения ключей, причем для всех игроков.Ребята ну если помогаете то посмотрите на паст бине я для кого код оставлял.
Там написано что метод add принимает два аргумента игрока и количество ключей а remove сокращает их на 1.
И метод add статический чтобы можно было управлять им в другом классе. А класс этот для выдачи этих ключей с помощью команды /getkey [nickname] [amount]. Усё. Мне надо чтобы у каждого игрока было своё количество ключей. Чтобы не было вот так![]()
![]()
а потом и у обоих по 20.
Небезопасный код. Лучше так:
Java:HashMap<String, Integer> keys = new HashMap<>(); int get(Player p) { Integer i = keys.get(p.getName()); return i == null ? 0 : i; } void add(Player p, int key) { if (key > 0) { String name = p.getName(); Integer i = keys.get(name); if (i == null) keys.put(name, key); else keys.put(name, i + key); } } void remove(Player p, int key) { if (key > 0) { String name = p.getName(); Integer i = keys.get(name); if (i != null) { i -= key; if (i > 0) keys.put(name, i); else keys.remove(name); } } }
getOrDefault для кого придумали?Небезопасный код. Лучше так:
Java:HashMap<String, Integer> keys = new HashMap<>(); int get(Player p) { Integer i = keys.get(p.getName()); return i == null ? 0 : i; } void add(Player p, int key) { if (key > 0) { String name = p.getName(); Integer i = keys.get(name); if (i == null) keys.put(name, key); else keys.put(name, i + key); } } void remove(Player p, int key) { if (key > 0) { String name = p.getName(); Integer i = keys.get(name); if (i != null) { i -= key; if (i > 0) keys.put(name, i); else keys.remove(name); } } }
private static Map<String, Integer> player_keys = new HashMap<>();
public static int get(String name) {
return player_keys.getOrDefault(name, 0);
}
public static void add(String name, int count) {
player_keys.put(name, get(name)+count);
}
public static int remove(String name) {
int count = get(name);
if(count <= 0)return 0;
return player_keys.put(name, count-1);
}
А тебе не насрать, что при перезагрузке сервера всё пропадёт?Привет форумчане!
Не давно столкнулся с такой проблемой. Когда я запрашиваю ключи, и открываю кейс с другим игроком то количество ключей у обоих одинаково. Как исправить?
код
А это уже его проблемы)0А тебе не насрать, что при перезагрузке сервера всё пропадёт?
Согласен. Хотя чего ожидать от ваниль б****А это уже его проблемы)0
Мб так будет правильнее:Код:private static Map<String, Integer> player_keys = new HashMap<>(); public static int get(String name) { return player_keys.getOrDefault(name, 0); } public static void add(String name, int count) { player_keys.put(name, get(name)+count); } public static int remove(String name) { int count = get(name); if(count <= 0)return 0; return player_keys.put(name, count-1); }