1

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

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

我之前有一个类似的例子,它采用 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 进行编程。我想这一定是我想念的一些非常“简单”的东西,因为这是我在大学的第三周,我们实际上是从头开始的。

更新 2

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

他是我得到/看到的全部

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

4

2 回答 2

3

注意:这是上面的评论,但我将其“提升”为答案。

根据您的更新 2 和上面的屏幕截图是我的猜测。

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

于 2012-10-13T19:42:14.820 回答
-1

在“bbq”这样的引号中键入 bbq。它会起作用的

于 2015-10-23T12:28:49.293 回答