Java 不兼容的类型错误反过来又给我错误?
因此,我已经尝试编写这段代码一段时间了,但是我的两个返回函数拒绝正常工作。我知道我没有返回正确的类型,但是我完全不知道返回什么来代替它,下面是代码:错误在第53行和第58行。正确归还汽车和卡车需要什么代码Java 不兼容的类型错误反过来又给我错误?,java,types,incompatibility,Java,Types,Incompatibility,因此,我已经尝试编写这段代码一段时间了,但是我的两个返回函数拒绝正常工作。我知道我没有返回正确的类型,但是我完全不知道返回什么来代替它,下面是代码:错误在第53行和第58行。正确归还汽车和卡车需要什么代码 public class lab21composition { public static void main(String args[]) { CarFactory factory = new CarFactory ("Ford"); Garage myGarage = ne
public class lab21composition
{
public static void main(String args[])
{
CarFactory factory = new CarFactory ("Ford");
Garage myGarage = new Garage();
Car c = factory.produceCar("Fusion");
Truck t = factory.produceTruck("F150");
System.out.println(myGarage);
myGarage.addVehicle(c);
System.out.println(myGarage);
myGarage.addVehicle(t);
System.out.println(myGarage);
Vehicle v = myGarage.removeVehicle();
if (null !=v)
{
System.out.println(v.toString() + " was removed from garage.");
System.out.println(myGarage);
}
else
{
System.out.println("There was no vehicle in the garage to remove.");
}
myGarage.addVehicle(t);
System.out.println(myGarage);
CarFactory factory2 = new CarFactory ("Honda");
Garage myGarage2 = new Garage();
Car d = factory.produceCar("Odyssy");
myGarage.addVehicle(d);
System.out.println(myGarage2);
}
}
class CarFactory
{
private String name;
public CarFactory(String n)
{
name = n; //ERROR, incompatible types/ Required:Truck/ Found: java.lang.String
}
public Car produceCar(String model)
{
return name; //ERROR, incompatible Types/ Required:Truck/Found: java.lang.String
}
public Truck produceTruck(String model)
{
return name;
}
}
class Vehicle
{
public static String make, model;
public Vehicle()
{
make = "Undefined";
model = "Undefined";
}
public Vehicle(String _make, String _model)
{
make = _make;
model = _model;
}
public String toString()
{
return make+" "+model;
}
}
}您的问题在这里:
class CarFactory
{
private String name;
//snip
public Car produceCar(String model)
{
return name;
}
public Truck produceTruck(String model)
{
return name;
}
}
您声明了
CarFactory.produceCar
以返回Car
——但您说的是返回名称代码>和名称的类型为String
您的问题如下:
class CarFactory
{
private String name;
//snip
public Car produceCar(String model)
{
return name;
}
public Truck produceTruck(String model)
{
return name;
}
}
您声明了CarFactory.produceCar
以返回Car
——但您说的是返回名称代码>和名称的类型为String
您的问题如下:
class CarFactory
{
private String name;
//snip
public Car produceCar(String model)
{
return name;
}
public Truck produceTruck(String model)
{
return name;
}
}
您声明了CarFactory.produceCar
以返回Car
——但您说的是返回名称代码>和名称的类型为String
您的问题如下:
class CarFactory
{
private String name;
//snip
public Car produceCar(String model)
{
return name;
}
public Truck produceTruck(String model)
{
return name;
}
}
您声明了CarFactory.produceCar
以返回Car
——但您说的是返回名称代码>和名称的类型为String
您可以为某些特定品牌创建汽车工厂,例如“福特”。你想制造某种型号的汽车或卡车。为此,您分别调用Car和Truck的构造函数
class CarFactory {
private String name; // brand
public CarFactory(String n){
name = n;
}
public Car produceCar(String model){
return new Car( name, model );
}
public Truck produceTruck(String model){
return new Truck( name, model );
}
}
汽车和卡车必须有合适的施工人员:
class Car extends Vehicle{
public Car(String make, String model){
super (make,model);
}
}
卡车也是如此。您为某些特定品牌创建了汽车工厂,例如“福特”。你想制造某种型号的汽车或卡车。为此,您分别调用Car和Truck的构造函数
class CarFactory {
private String name; // brand
public CarFactory(String n){
name = n;
}
public Car produceCar(String model){
return new Car( name, model );
}
public Truck produceTruck(String model){
return new Truck( name, model );
}
}
汽车和卡车必须有合适的施工人员:
class Car extends Vehicle{
public Car(String make, String model){
super (make,model);
}
}
卡车也是如此。您为某些特定品牌创建了汽车工厂,例如“福特”。你想制造某种型号的汽车或卡车。为此,您分别调用Car和Truck的构造函数
class CarFactory {
private String name; // brand
public CarFactory(String n){
name = n;
}
public Car produceCar(String model){
return new Car( name, model );
}
public Truck produceTruck(String model){
return new Truck( name, model );
}
}
汽车和卡车必须有合适的施工人员:
class Car extends Vehicle{
public Car(String make, String model){
super (make,model);
}
}
卡车也是如此。您为某些特定品牌创建了汽车工厂,例如“福特”。你想制造某种型号的汽车或卡车。为此,您分别调用Car和Truck的构造函数
class CarFactory {
private String name; // brand
public CarFactory(String n){
name = n;
}
public Car produceCar(String model){
return new Car( name, model );
}
public Truck produceTruck(String model){
return new Truck( name, model );
}
}
汽车和卡车必须有合适的施工人员:
class Car extends Vehicle{
public Car(String make, String model){
super (make,model);
}
}
卡车也一样。您能把收到的错误贴出来吗?当然,行:需要53个不兼容类型:Car found:java.lang.String行:需要58个不兼容类型:Truck found:java.lang.Strings提供错误详细信息和错误位置。使用正确的输入编辑问题。@machinamounter-请提供堆栈跟踪。并且在代码中注释哪一行是53和58(或者在提供堆栈跟踪时显示这些行),您可以发布您得到的错误吗?当然,行:需要53个不兼容类型:Car found:java.lang.String行:需要58个不兼容类型:Truck found:java.lang.Strings提供错误详细信息和错误位置。使用正确的输入编辑问题。@machinamounter-请提供堆栈跟踪。并且在代码中注释哪一行是53和58(或者在提供堆栈跟踪时显示这些行),您可以发布您得到的错误吗?当然,行:需要53个不兼容类型:Car found:java.lang.String行:需要58个不兼容类型:Truck found:java.lang.Strings提供错误详细信息和错误位置。使用正确的输入编辑问题。@machinamounter-请提供堆栈跟踪。并且在代码中注释哪一行是53和58(或者在提供堆栈跟踪时显示这些行),您可以发布您得到的错误吗?当然,行:需要53个不兼容类型:Car found:java.lang.String行:需要58个不兼容类型:Truck found:java.lang.Strings提供错误详细信息和错误位置。使用正确的输入编辑问题。@machinamounter-请提供堆栈跟踪。并且在代码中注释哪些行是53和58(或者在提供堆栈跟踪时显示这些行),我相信OP知道问题在哪里,但不知道如何解决问题。答案是调用相应的Car
和Truck
构造函数,而不是返回name
。对于Car或Truck,我需要返回什么?我尝试在方法中更改类型,但我的第一行都是汽车或卡车。在公共汽车生产车
中,您需要找到该车型的汽车
,并返回汽车
对象。在produceTruck
中,您按模型进行搜索,然后返回Truck
对象我相信OP知道问题在哪里,但不知道如何解决问题。答案是调用相应的Car
和Truck
构造函数,而不是返回name
。对于Car或Truck,我需要返回什么?我尝试在方法中更改类型,但我的第一行都是汽车或卡车。在公共汽车生产车
中,您需要找到该车型的汽车
,并返回汽车
对象。在produceTruck
中,您按模型进行搜索,然后返回Truck
对象我相信OP知道问题在哪里,但不知道如何解决问题。答案是调用相应的Car
和Truck
构造函数,而不是返回name
。对于Car或Truck,我需要返回什么?我尝试在方法中更改类型,但我的第一行都是汽车或卡车。在公共汽车生产车
中,您需要找到该车型的汽车
,并返回汽车
对象。在produceTruck
中,您按模型进行搜索,然后返回Truck
对象我相信OP知道问题在哪里,但不知道如何解决问题。答案是调用相应的Car
和Truck
构造函数,而不是返回name
。什么