【问题标题】:illegal start of expression java boolean表达式 java boolean 的非法开头
【发布时间】:2016-02-26 22:50:42
【问题描述】:

public boolean vlozVec(Vec vec) 存在问题,其中是表达式错误的非法开始。我不知道如何解决它,因为我没有太多时间,所以请帮助我。我需要尽快发送,这是我下班后无法解决的最后一个问题。谢谢!!

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();

}
}

【问题讨论】:

  • 为什么 Inventar 方法突然停止(没有关闭 } )。事实上,方法的负载确实
  • 缩进你的代码,你应该能够发现错误。
  • 发布损坏代码并说“请修复它”之类的问题是题外话

标签: java netbeans-8


【解决方案1】:

您不能在构造函数中嵌入方法。在方法声明之前关闭构造函数。

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

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 1970-01-01
    • 2018-08-16
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 2021-12-01
    相关资源
    最近更新 更多