好吧所以我有三节课
abstract class Shape
{
int width, height;
String color;
public void draw()
{
}
} // end Shape class
"
class Rectangle extends Shape
{
Rectangle(int w, int h, String color)
{
width = w;
height = h;
this.color = new String(color);
}
public void draw()
{
System.out.println("I am a " + color + " Rectangle " + width + " wide and " + height + " high.");
}
}// end Rectangle class
"
class Circle extends Shape
{
Circle (int r, String color)
{
width = 2*r;
height = 2*r;
this.color = new String(color);
}
public void draw()
{
System.out.println("I am a " + color + " Circle with radius " + width + ".");
}
} // end Circle class
'' 我正在尝试做的是创建一个新类来产生以下输出: 我是一个蓝色矩形,宽 20 高,高 10。我是一个半径为30的红色圆圈。我是一个绿色矩形,宽 25 宽,25 高,但我在调用方法 draw() 时遇到问题;
This is the main class:
public class Caller
{
public static void main(String args[])
{
Caller call= new Caller();
Shape[] myShape = new Shape[3];
myShape[0] = new Rectangle(20,10,"blue");
myShape[1] = new Circle(30, "red");
myShape[2] = new Rectangle(25,25, "green");
for (int i=0; i < 3; i++)
{
System.out.println();
}
call.draw(Rectangle);
call.draw(Circle);
}
}
在 for
循环中,您需要为您所在的特定 Shape
调用 draw
方法,并且不需要调用 System.out.println(),
除非您想要另一个空行。
for (int i=0; i < 3; i++)
{
myShape[i].draw();
}
删除像call.draw
这样的行。不使用调用来调用
方法。事实上,你甚至不需要调用者
对象的实例。只需在已有的 Shape
对象上调用 draw
方法即可。
正如jlordo的回答一样,如果Shape
类没有方法,那么它就不需要是抽象的。因此,您可以使绘制
方法abstract
,也可以从
class中删除
。
draw()方法是在Shape类上定义的,而不是在Caller类上定义。
我的形状[0]。draw()打印出矩形的例子。
你的代码格式很糟糕,所以这只是猜测。我认为你应该改变
for (int i=0; i < 3; i++)
{
System.out.println();
}
call.draw(Rectangle);
call.draw(Circle);
到
for (int i=0; i < myShape.length; i++) {
myShape[i].draw();
}
此外,在Shape
类更改中
public void draw()
{
}
到
public abstract void draw();
我正在做我的编程课介绍的作业,这是一个泡泡排序。代码可能有缺陷,但我不是在找人来解决那个问题。我的问题是,我试图打印它。我得到的条件是,该方法必须由“public static void sort(int[]array)”一行的void方法定义。因此,如果我尝试导入数组,并在main方法中使用,它将无法工作,因为我会得到一个编译器错误,说明void不适用。如果我试图将它放到main方法的循环中,它
我正在研究一种随机数方法,从数组中选取一个随机元素。但是,我不知道如何打印方法的返回值。这是密码。
我应该如何将它打印到我的控制台,并使它显示我在方法中声明的数组? 当我试图打印它时,就像: 不管用,那我该怎么做呢? 我只是想知道如何在我的控制台打印它。
testdate.java:
我想按以下顺序打印子字符串:-“”,“D”,“C”,“CD”,“B”,“BD”,“BC”,“BCD”,“A”,“AD”,“AC”,“ACD”,“AB”,“ABD”,“ABC”,“ABCD” 在这里,最后4个阵型的“a”不见了