2017-07-14 24 views
-1

我有两个班。我正在尝试返回一个字符串对象,表示创建车型的年份。我能够成功打印出两个物体的颜色和最大速度。无法打印Java年的车年

我做的第一件事是在Car类中创建一个private int yearMade变量,并在下面的方法中创建一个变量。然后我试图在构造函数中引用carYear变量。

我认为我错过的唯一的事情就是在CarTest类的参数中输入实际车年。但进入一年没有成功打印出汽车的一年。

public class Car { 
    private final String color; 
    private int maxSpeed; 
    private int yearMade; 

    public String carInfo(){ 
     return color + " Max Speed:" + maxSpeed + yearMade; 
    } 

    //This is constructor of Car Class 
    Car(String carColor, int speedLimit, int carYear){ 
     this.color = carColor; 
     this.maxSpeed = speedLimit; 
     this.yearMade = carYear; 
    } 
} 


public class CarTest { 
    public static void main(String[] args){ 
     Car maruti = new Car("Red", 160); 
     Car ferrari = new Car("Yellow", 200); 
     System.out.println(maruti.carInfo()); 
     System.out.println(ferrari.carInfo()); 
    } 
} 
+0

方法你怎么样能够创造一个汽车只有两个参数,当你的构造需要3个PARAMS ?这应该会导致编译错误。 – yogidilip

+0

欢迎来到Stack Overflow!寻求调试帮助的问题(“为什么这个代码不工作?”)必须在问题本身中包含所需的行为,特定的问题或错误以及必要的最短代码**。没有明确问题陈述的问题对其他读者无益。请参阅:[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 –

+0

你是哪年入学的?它打印了什么? – shmosel

回答

0

您在打印之前将最高车速和车年一起添加。尝试这样的事情

public String carInfo(){ 
    return "Color: " + color + ", Max Speed:" + maxSpeed + ", Year Made: " + yearMade; 
} 

然后使用3个参数的构造函数创建对象,然后调用,像这样

Car ferrari = new Car("Yellow", 200, 1995);//make sure you add in the year 
System.out.println(ferrari.carInfo()); 
+0

谢谢,这是我的第一个关于Stack Overflow的问题。我学到了很好的经验。 –

+0

很高兴你有良好的学习经验!随时标记为解决问题的答案!祝你好运,并继续提问@KevinMyrick –