下面是我尝试创建的类:
package rectangle;
public class Rectangle
{
private double length,width;
public void setLength(double length)
{
length=this.length;
}
public void setWidth(double width)
{
width=this.width;
}
public double getLength()
{
return length;
}
public double getWidth()
{
return width;
}
public double area()
{
return length*width;
}
}
我相信我已经正确地上课了。我只是想创建和使用一个类,可以计算矩形的面积。
然后尝试实际创建实例对象:
/*Testing out the rectangle class*/
package rectangleclasstest;
import java.util.Scanner;
public class RectangleClassTest
{
static void main(String[] args)
{
Scanner keyboard= new Scanner(System.in);
Rectangle rec=new Rectangle();
//get length
System.out.println("Please enter the length");
rec.setLength()=keyboard.nextInt();
}
}
当我试图创建对象recc作为矩形类的实例时,我一直得到一个错误。就好像程序根本找不到我刚刚创建的类一样。任何反馈都会有所帮助。由于
这两个类位于两个不同的包中。所以当你想在RectangleClassTest
中使用Rectangle
类时,你需要导入它。
你只需要在RectangleClassTest
类的顶部添加import行,就像下面的
import rectangle.Rectangle;
或者作为另一种选择,您也可以通过显式声明包来调用类名,如下
所示rectangle.Rectangle rec=new rectangle.Rectangle();
下面还有一个编译错误rec.setLength()=keyboard.nextInt();
应该在
下面rec.setLength(keyboard.nextInt());
更新:除了在你的Rectangle
类你的setter方法应该做this.length = length
,而不是其他方式。下面是正确的方法
public void setLength(double length){
this.length=length;
}
public void setWidth(double width){
this.width=width;
}
实际情况是,这些类位于不同的包中。要在包rectangleclasstest
中使用Rectangle
类,您必须导入它:
package rectangleclasstest;
import java.util.Scanner;
import rectangle.Rectangle;
public class RectangleClassTest
{ ... }
同样,当你这样做的时候:
length=this.length;
只修改参数length
。我猜你想修改实例属性:
this.length = length;
您需要导入rectangle包或显式命名rectangle,
rectangle.Rectangle rec=new rectangle.Rectangle();
这里还有一个编译错误,
rec.setLength()=keyboard.nextInt();
应该rec.setLength(keyboard.nextInt());
因为您使用的是不同的软件包。您可以在矩形包中创建RectangleClassTest,或者导入矩形包
为了确保所有的角度都被覆盖,我们还可以看看你的导入,以确保矩形类被正确导入。
问题似乎也在下面这句话上:rec.setLength()=keyboard.nextInt();
应该是:rec.setLength(keyboard.nextInt());
那对我来说似乎更有意义。如果这个答案有帮助,请不要忘记给它投票或接受它作为答案