Java错误:需要类、接口或枚举(比萨饼订单程序)

Java错误:需要类、接口或枚举(比萨饼订单程序),java,class,interface,enums,Java,Class,Interface,Enums,在java中处理比萨饼/比萨饼订单程序时,我不断得到13个错误:类、接口或枚举。我知道问题应该出在花括号上,但我一直没能找到它。我希望另一组(或多组)眼睛能够发现错误 public Pizza(串大小、整块奶酪、整块意大利香肠、整块火腿){ 这个。大小=大小; 如果(奶酪

在java中处理比萨饼/比萨饼订单程序时,我不断得到13个错误:类、接口或枚举。我知道问题应该出在花括号上,但我一直没能找到它。我希望另一组(或多组)眼睛能够发现错误

public Pizza(串大小、整块奶酪、整块意大利香肠、整块火腿){
这个。大小=大小;
如果(奶酪<0){
这个值为0;
}
否则{
这个。奶酪=奶酪;
}
如果(意大利辣香肠<0){
这个。意大利香肠=0;
}
否则{
这个。辣香肠=辣香肠;
}
if(ham<0){
这是0.ham=0;
}
否则{
this.ham=ham;
}
}   
公共双成本{
如果(大小等于(“小”)){
返回10+2*(火腿+奶酪+辣香肠);
}
else if(尺寸等于(“中等”)){
返回12+2*(火腿+奶酪+辣香肠);
}
else if(大小等于(“大”)){
返回14+2*(火腿+奶酪+辣香肠);
}
否则{
System.out.println(“无效大小”);
}
}
公共类比萨饼订单{
私人披萨1;
私人披萨2;
私人披萨3;
公共比萨饼令(){
numPizzas=1;
比萨饼1=新比萨饼();
比萨饼2=新比萨饼();
pizza3=null;
}
公共比萨订单(国际大比萨、比萨比萨1、比萨比萨2、比萨比萨3){
this.numPizzas=numPizzas;
this.pizza1=pizza1;
this.pizza2=pizza2;
this.pizza3=pizza3;
}
公共无效设置numPizzas(int numPizzas){
如果(numPizzas>3){
这个.numPizzas=3;
}
否则如果(numPizzas<1){
此值为0.numPizzas=0;
}
否则{
this.numPizzas=numPizzas;
}
}
公共空间设置比萨1(比萨比萨1){
this.pizza1=pizza1;
}
公共空间设置比萨2(比萨比萨2){
this.pizza2=pizza2;
}
公共空间设置比萨3(比萨比萨3){
this.pizza3=pizza3;
}
公共双计算器(){
双倍总计=pizza1.calcCost();
如果(numPizzas>=2){
总计+=比萨饼2.calcCost();
}
如果(numPizzas==3){
合计+=pizza3.calcCost();
}
返回总数;
}
}
公共类MainMethodClassName{
公共静态void main(字符串参数[]){
比萨饼1=新比萨饼(“大”,1,0,1);
比萨饼2=新比萨饼(“中等”,2,2,0);
PizzaOrder=新PizzaOrder();
订单号:setNumPizzas(2);
订单。setPizza1(pizza1);
订单。setPizza2(pizza2);
双倍总计=订单.calcTotal;
System.out.println(“第一批比萨饼:”);
System.out.println(pizza1.getDescription());
System.out.println(“第二批比萨饼:”);
System.out.println(pizza2.getDescription());
System.out.println(“总价:$”+总价);
}
}
错误在第1、4、6、9、12、15、18、21、24、27、30、33和36行


谢谢你的帮助;我真的很感激

括号不是你唯一的问题

public double calcCost() {
    if (size.equals("small")) {
        return 10 + 2 * (ham + cheese + pepperoni);
    }
    else if (size.equals("medium")) {
        return 12 + 2 * (ham + cheese + pepperoni);
    }
    else if (size.equals("large")) {
        return 14 + 2 * (ham + cheese + pepperoni);
    }
    else {
        System.out.println("Invalid size");
    }
}
这不会像在
中那样编译,否则当指定返回类型时,不会返回任何非法的内容

至于括号,因为您给了我们一行,并且假设我们应该能够使用您粘贴的代码正确地计算它们。我相信你在一个文件中复制了所有这些

如果这是真的,那么问题在于前两个方法不在类中,这在Java中是非法的。要么将它们放在另一个类中,要么将它们添加到一个已经存在的类中(如果它们位于该类中)

此外,即使编译,也不应该在一个文件中声明所有类,因为维护起来会很糟糕。

就像他说的那样。 当您构建类时,它们应该封装一个想法


诸如此类。如果您不使方法无效,那么它们必须有返回,如果您使它们为静态,那么您可以通过调用“class.method()”

在main中使用它们,而无需即时更新。这是您的整个源文件吗?如果是这样,则在类外部定义了方法。也许您的类定义应该移到文件的顶部,或者您需要另一个类定义。
this.numPizzas=numPizzas的右边似乎有错误的大小写。前两个方法不在一个类中。您需要在开始时添加
公共类{
,并在下一个类开始之前添加
}
。当然,您应该在单独的文件中定义每个类。
public double calcCost() {
    if (size.equals("small")) {
        return 10 + 2 * (ham + cheese + pepperoni);
    }
    else if (size.equals("medium")) {
        return 12 + 2 * (ham + cheese + pepperoni);
    }
    else if (size.equals("large")) {
        return 14 + 2 * (ham + cheese + pepperoni);
    }
    else {
        System.out.println("Invalid size");
    }
}
public class pizza{

public static pizzaSize(){
}
public static toppings(){
}
}