Java:带有一个参数的构造函数;错误 - 找不到符号 - 变量

时间:2012-10-13 18:34:20

标签: java constructor runtime-error

我从事Java编程(我在大学的第一年)。我有一个评估,我需要创建3个类。在其中一个类中,我需要一个带有String类型参数的构造函数。它需要允许我创建一个新的对象(薯片包),我应该在其中陈述它的味道。

每当我尝试创建对象时,我都会在文本框中输入薯片的味道,但是当我按下确定时我会收到错误(例如)找不到符号 - 变量烧烤。

我有一个类似的例子,之前采用int类型,它工作正常。

当我将我的代码与其他工作示例进行比较时 - 我真的找不到我做错了什么。

如果有人可以提供建议,我将不胜感激。

public class PackOfCrisps
{
private String flavour;
private int numOfCrisps;
private boolean open;

/**
 * Constructor for a single pack of crisps.
 */
public PackOfCrisps(String newFlavour)
{
    flavour = newFlavour;
    numOfCrisps = 10;
    open = true;
}

/**
 * Return whether the packet is empty.
 */
public boolean isEmpty() 
{
    if (numOfCrisps == 0) 
    {
        return true;
    } else
        return false;
}

/**
 * Return whether the packet is closed.
 */
public boolean isClosed() 
{
    return open;
}

/**
 * Change the boolean value of 'open' variable.
 */
public void open()
{
    open = !open;
}

/**
 * Return the flavour of the packet of crisps.
 */
public String getFlavour()
{
    return flavour;
}

/**
 * Decrease the number of crisps by 1 until the packet is empty.
 */
public void eatCrisps()
{
    if (open) 
    {
        System.out.println("Need to open the packet first!");
    } else if ((numOfCrisps > 1) && (numOfCrisps <= 10)){
        numOfCrisps = numOfCrisps - 1;

        System.out.println(numOfCrisps);
    } else {
        System.out.println("The packet is empty!");
    }
}

}

更新

我正在使用BlueJ进行编程。 我想,它一定是非常“简单”的东西,因为这是我在大学的第3周,而且我们从头开始。

更新2

我很抱歉,如果我的答案并不总是100%描述所有内容,但因为我仍然是编程的菜鸟,我一定会错过一些信息。我认为这将是你的问题的答案:因为我使用BlueJ,当我在编译器中有一个类(我相信在类图中显示)我只需右键单击它并选择“new PackOfCrisps(String newFlavour)”然后我得到了可以输入薯片风味的盒子,但是当我按下“确定”时,我收到错误消息。

his is all I get/see

我尝试使用其他选项,看看我是否可以获得更多信息,但没有成功。

2 个答案:

答案 0 :(得分:2)

注意:这是上面的评论,但我正在“提升”它的答案。

基于您的更新2,上面的屏幕截图是我的猜测。

BlueJ弹出的文本框可能允许您键入变量名称或字符串。如果您希望它是一个字符串,请在“BBQ”中输入引号。

答案 1 :(得分:-1)

在这样的引号中键入bbq&#34; bbq&#34;。 它会起作用