gpt4 book ai didi

java - CodeHS 的服装店类(class)

转载 作者:行者123 更新时间:2023-11-29 04:38:15 29 4
gpt4 key购买 nike

所以我目前正在参加我的学校名为 Ap Computer Science in Java (Mocha) 的类(class)。我被困在 4.12.4 阶段。这是练习

在这个问题中,您将设计几个类来代表服装店中的不同服装。

您将为 T 恤、牛仔裤、 Jersey 和服装编写类。

Clothing 类应该有两个实例变量:一个用于衣服的尺寸(一个字符串),另一个用于衣服的颜色(也是一个字符串)。

衣服也应该有两个访问器(getter 方法):

public String getSize()
public String getColor()

Sweatshirt类应该有一个私有(private)的实例变量(或字段)来存储它是否有头巾,以及相应的getter方法

public boolean hasHood()

TShirt 类应该有一个私有(private)字段来存储 Fabric 和一个相应的 getter 来调用

public String getFabric()

所有的牛仔裤都应该是蓝色的。

构造函数应该是这样的格式:

public Clothing(String size, String color)
public TShirt(String size, String color, String fabric)
public Sweatshirt(String size, String color, boolean hasHood)
public Jeans(String size)

这是我的代码。

T 恤.java:

public class TShirt extends Clothing
{
private String size;
private String color;
private String fabric;


public TShirt(String Size, String Color, String Fabric)
{
size = Size;
color = Color;
fabric = Fabric;
}


public String fabric()
{
return this.fabric;
}

}

牛仔裤.java:

public class Jeans extends Clothing
{
private String size;
private String color = "blue";

public Jeans(String Size)
{
size = Size;
}



public String getColor()
{
return this.color;
}
}

Jersey .java:

public class Sweatshirt extends Clothing
{
private String size;
private String color;
private boolean hasHood;

public Sweatshirt(String Size, String Color, boolean HasHood)
{
//super(Clothing);
size = Size;
color = Color;
hasHood = HasHood;

}


public boolean hasHood()
{
return this.hasHood;
}
}

服装.java:

public abstract class Clothing
{
private String size;
private String color;
private String fabric;

public Clothing(String Size, String Color)
{
this.size = size;
this.color = color;
}

public String getSize()
{
return this.size;
}

public String getColor()
{
return this.color;
}

public String getFabric()
{
return this.fabric;
}

}

这是我运行程序时遇到的错误列表

root/TShirt.java:9: error: constructor Clothing in class Clothing cannot be applied to given types;
{
^
required: String,String
found: no arguments
reason: actual and formal argument lists differ in length
root/Jeans.java:7: error: constructor Clothing in class Clothing cannot be applied to given types;
{
^
required: String,String
found: no arguments
reason: actual and formal argument lists differ in length
root/Sweatshirt.java:8: error: constructor Clothing in class Clothing cannot be applied to given types;
{
^
required: String,String
found: no arguments
reason: actual and formal argument lists differ in length
3 errors
Error: Could not find or load main class ClothingTester

我不知道我做错了什么,所以请任何人帮助我,我已经坚持了几天了。

最佳答案

扩展 Clothing 类的类似乎会抛出错误。一个来自 TShirt(我没有看到它的代码),另一个来自 Jeans,另一个来自 Sweatshirt(在您发布的代码中有两次)。

每当您扩展一个类时,如果您没有立即初始化继承类的构造函数,编译器就会报错。在显示的所有扩展类中,没有人这样做过。因此,为了让您开始,我提供了初始化 super 构造函数的最低限度的 Sweatshirt 类,或者在您的情况下,它会在您每次创建 Sweatshirt 对象时初始化 Clothingsuper 在这种情况下是 Clothing。此外,由于您是从 Clothing 类扩展的,因此不需要在扩展类中重新定义 Size 和 Color 属性。

在使用具有相同名称但“大小写”不同的不同变量时也要小心,示例。查看您提供的代码,查看 Clothing 类构造函数。您的传入值:尺寸和颜色未被使用。它应该是 this.size = Size 和 this.color = Color。由于您正在使用类自己的变量来设置自身,我很确定您会收到错误或者根本无法获得正确的值。我不建议命名仅大小写不同的不同变量。

public class Sweatshirt extends Clothing
{
//private String size;
//private String color;
private boolean hasHood;

public Sweatshirt(String inSize, String inColor, boolean inHasHood)
{
super(inSize, inColor);
//super(Clothing);
//size = Size;
//color = Color;
hasHood = inHasHood;
}

public boolean getHasHood()
{
return this.hasHood;
}

@Override
public String toString()
{
return "Sweatshirt [hasHood=" + getHasHood() + ", getSize()=" + getSize() + ", getColor()=" + getColor() + "]";
}

}

希望这可以帮助您入门。

关于java - CodeHS 的服装店类(class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40340765/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com