2016-02-26 2 views
-3

Существует проблема с общедоступным логическим vlozVec (Vec vec), где это незаконный запуск ошибки выражения. Я не знаю, как это исправить. У меня мало времени, поэтому, пожалуйста, помогите мне, ребята. Мне нужно отправить его как можно скорее, и это последняя проблема, которую я не могу решить после нескольких часов работы. Спасибо!!незаконный запуск выражения java boolean

package eu.pedu.adv16s._4_1800.macv03_macura.logika; 

import eu.pedu.adv16s_fw.game_txt.IBag; 
import eu.pedu.adv16s_fw.game_txt.IItem; 

import java.util.Collection; 
import java.util.Collections; 
import java.util.Map; 
import java.util.HashMap; 


/** 
* Třída Inventar - představuje inventář pro sbírané věci. 
* Kapacita je omezena na dvě věci. 
* 
* @author Viktor Mačura 
* @version semestrální práce 4IT101 ZS 2015/2016 
*/ 
public class Inventar implements IBag 
{ 
    private Map<String, Vec> seznamVeci; 
    static final int kapacita = 2; 

/** 
* Vytvoření inventáře, věci se ukládají do seznamu 
* pomocí HashMap 
*/ 
public Inventar() 
{ 
    seznamVeci = new HashMap<>(); 



/** 
* Vkládá věci do inventáře. 
* @param Vec vkládáná věc 
* @return boolean true pokud je v inventáři místo, 
* false pokud v něm není místo 
*/ 
public boolean vlozVec(Vec vec) 
{ 
    if (seznamVeci.size() < kapacita) 
    { 
     seznamVeci.put(vec.getNazev(), vec); 
     return true; 
    } 
    return false; 
} 

/** 
* Odebírá věc z inventáře. 
* @param String název věci 
* @return Vec pokud je věc v inventáři, odebere ji a vrátí na ni odkaz, 
* pokud neni, vrátí null 
*/ 
public Vec seberVec(String nazev) 
{ 
    Vec odebirana = null; 
    if (seznamVeci.containsKey(nazev)) 
    { 
     odebirana = seznamVeci.get(nazev); 
     seznamVeci.remove(nazev); 
    } 
    return odebirana; 
} 

/** 
* Zjišťuje, jestli je požadovaná věc v inventáři. 
* @param String název věci 
* @return boolean true pokud je v inventáři, false pokud není v inventáři. 
*/ 
public boolean obsahujeVec(String nazev) 
{ 
    return seznamVeci.containsKey(nazev); 
} 

/** 
* Vrací odkaz na požadovanou věc. 
* @param String název věci 
* @return Vec 
*/ 
public Vec getVec(String nazev) 
{ 
    return seznamVeci.get(nazev); 
} 

@Override 
public int getCapacity() 
{ 
    return kapacita; 
} 

@Override 
public Collection<Vec> getItems() 
{ 
    return seznamVeci.values(); 

} 
} 
+1

Почему метод Inventar останавливается внезапно (без закрытия)). На самом деле загруженность методов –

+0

Отступы ваш код, и вы должны иметь возможность обнаружить ошибку. – Maroun

+1

Вопросы, которые вызывают нарушение кода и говорят что-то вроде «пожалуйста, исправьте это пожалуйста» ** вне темы **. –

ответ

0

Вы не можете внедрить метод в свой конструктор. Закройте конструктор перед объявлением метода.

public Inventar() 
{ 
    seznamVeci = new HashMap<>(); 
} // <-- add this. 
public boolean vlozVec(Vec vec) // <-- before this...