r0m*_*0m1 -1 java setter if-statement bluej
我们用if语句创建一个setter.我们试图限制批准的值,并使用print方法打印出设置的值,如果不接受该值,则使用"错误".
这是方法:
Public class Sykkel extends Kjøretøy
{
private int height;
public Sykkel(String colour)
{
// initialise instance variables
super(1, colour);
this.height = height;
}
public void setHeight (int height) {
if(height > 35 && height < 70){
System.out.println("Sykkelen er " + height + " cm høy.");
} else {
System.out.println("Wrong");
}
}
public int getHeight() {
return height;
}
Run Code Online (Sandbox Code Playgroud)
无论我们设置什么高度,它打印出"错误".有没有人在代码中看到错误?
我们已经尝试了这个.高度和高度,但结果仍然是一样的.
提前致谢.
我的观察.
你的构造函数应该是:
public Sykkel(String colour, int height)
{
// initialise instance variables
super(1, colour);
this.height = height;
}
Run Code Online (Sandbox Code Playgroud)
在您的setHeight方法中,您需要将高度分配给实例变量.
public void setHeight (int height) {
if(height > 35 && height < 70){
System.out.println("Sykkelen er " + height + " cm høy.");
} else {
System.out.println("Wrong");
}
// add the below line:
this.height = height;
}
Run Code Online (Sandbox Code Playgroud)
另一种方法似乎没问题.
当我打电话时setHeight(40);,我正在接受
Sykkelen er 40 cm høy.
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!