小编arr*_*rey的帖子

如果构造函数中的语句不按预期工作?Java的

这是我在父类中使用的构造函数:

    public Base(String breadType, String meat) {
    this.breadType = breadType;
    this.meat = meat;

    if(!this.breadType.equals("baguette")|| !this.breadType.equals("brown rye")) {
        this.additionalCost+= 1.99;
        System.out.println("Bread neither baguette or brown rye.");
    }
    if(!this.breadType.equals("beef") || !this.breadType.equals("low-fat meat")) {
        this.additionalCost+= 2.99;
        System.out.println("Meat neither beef or low-fat meat.");

    }


    this.finalCost = baseCost+additionalCost;

}
Run Code Online (Sandbox Code Playgroud)

因此,为了澄清,我试图创建的逻辑是它检查输入是'baguette'还是'brown rye'.如果它不是这些中的任何一个,那么additionalCost字段将增加1.99.对于输入的肉类,已经实施了类似的逻辑.

我有一个带有以下构造函数的子类:

    public Healthy_Burger() {
        super("brown rye","low-fat meat");
        //addCost(this.baseCost-super.getBaseCost());
    }
Run Code Online (Sandbox Code Playgroud)

除非我错误地理解了构造函数中的super(),否则我会认为我输入的参数将在基础构造函数"Base"中传递,后面跟着if语句,然后检查面包或肉是否不是它正在寻找的,如果不是,它应该使用相应的值增加additionalCost.

最终,我的问题是当我实例化一个'Healthy_Burger'时:

    Healthy_Burger burger = new Healthy_Burger();
Run Code Online (Sandbox Code Playgroud)

我甚至使用getter来确保breadType是'褐色黑麦',但我遇到的问题是,在检查最终成本后,我发现添加了breadType和Meat的额外成本,即使它们不是意思是因为面包类型是'棕色黑麦'而肉'低脂肪肉'和我的if语句因此不应该返回true.

谢谢.

java constructor if-statement class

0
推荐指数
1
解决办法
70
查看次数

滚动时如何设置动画

如果您访问以下站点:http : //www.justinaguilar.com/animations/scrolling.html

您会注意到动画发生在 Scroll 上,而对我而言,当我下载它时却没有。我该怎么做才能让我的动画出现在滚动上?

html javascript css animation scroll

-1
推荐指数
1
解决办法
6946
查看次数

标签 统计

animation ×1

class ×1

constructor ×1

css ×1

html ×1

if-statement ×1

java ×1

javascript ×1

scroll ×1