问题描述
- java基础高手看这里了,这几道基础性的面试题求解答。
-
编制父类Shape:包括普通成员变量图形的行数、列数;图形开始绘制的列数;静态变量图形个数;以及方法绘制图形;
编写两个子类:菱形和矩形,这两个子类继承父类中的绘制图形方法,即在控制台中输出菱形或矩形(根据构造函数中给出的行、列);
验证上述要求,使得屏幕上显示多个图形,并且输出图形的个数。
解决方案
你应该先贴出你的代码,有问题的话大家讨论,直接让人做题不好吧。
解决方案二:
abstract class Shape
{
public abstract String tuxing();
}
class Lxshape extends Shape
{
int a,b;
Lxshape(int a,int b)
{
this.a=a;this.b=b;
}
public String tuxing()
{
return
for(int i=1;i<=b/2+1;i++){
for(int j=1;j
for(int o=1;oSystem.out.print(" ");}
if(j
System.out.print(" ");
else
System.out.print("*");
}
System.out.print("n");
}
for(int p=b+1;p>b/2;p--){
for(int q=p;q>1;q--){
if(q>2*p-1-b)
System.out.print(" ");
else
System.out.print("*");
}
System.out.print("n");
}
super.n=n+1;
}
}
class Jxshape extends Shape
{
int a,b,c;
Jxshape(int a,int b,int c)
{
this.a=a;this.b=b;this.c=c;
}
public String tuxing()
{
return
for(int i=1;i<c;i++){
for(int j=1;j<b;j++){
for(int o=1;o<a;o++){
System.out.print(" ");
}
System.out.print("*");
}
System.out.print("n");
}
super.n=n+1;
}
}
public class aastractshape
{
public static void main (String args[])
{
Shape one=new Lxshape(5,7);
Shape two=new Lxshape(3,5);
Shape three=new Jxshape(2,4,3);
Shape four=new Jxshape(3,3,5);
one.tuxing();
two.tuxing();
three.tuxing();
four.tuxing();
System.out.println("输出了"+n+"个图形");
}
}