看板java
标 题Re: [问题]关於多形和超载 程式码问题
发信站无名小站 (Tue May 23 04:17:14 2006)
转信站ptt!ctu-reader!Spring!feeder.seed.net.tw!news.ntu!mars.scc.ntnu!ctu-pe
※ 引述《cscfish (双栖动物)》之铭言:
> ※ 引述《cscfish (双栖动物)》之铭言:
> > 就是为啥我计算出的数字都会是0 是哪要改吗
> > 还有说要用多形和超载 那应该超载已经合多型条件了吧
> > 如果不合条件 那要怎麽改才可以呢
> > 因为getarea() 同时有计triangle circle rectangle的不同功能(多形)
> > class shape {
> > private double area,circum;
> > shape(double a,double b)
> > {
> > this.area=a;
> > this.circum=b;
> > }
> > public double getarea(){return area;}
> > double getcircum(){return circum;}
> > }
> > =====================================================
> > class circle extends shape {
> > private double r;
> > circle(double r)
> > {super(r,r);}
> > public double getarea(){return 3.14*r*r;}
> > public double getcircum(){return 6.28*r;};
> > }
> > =====================================================
> > class rectangle extends shape{
> > private double x,y;
> > rectangle(double x,double y)
> > {super(x,y);}
> > public double getarea(){return x*y;}
> > public double getcircum(){return 2*x+2*y;};
> > }
> > =====================================================
> > class triangle extends shape {
> > double s,t;
> > triangle(double s,double t)
> > { super(s,t);}
> > public double getarea(){return 0.5*s*t;}
> > public double getcircum(){return 3*s;};
> > }
> > =====================================================
> > public class calculate {
> > public static void main(String args[]){
> > circle cir=new circle(3);
> > triangle tri=new triangle(3,3);
> > rectangle rec=new rectangle(3,3);
> > System.out.print("\n" +cir.getarea());
> > System.out.print("\n" +cir.getcircum());
> > System.out.print("\n" +tri.getarea());
> > System.out.print("\n" +tri.getcircum());
> > System.out.print("\n" +rec.getarea());
> > System.out.print("\n" +rec.getcircum());
> > }
> > }
接着我要加一功能就是随便选一个图形 在计算其面积
我改这样不行 不知哪位大大可以在帮指点一下
class calculate {
public static void main(String args[]){
System.out.print("input integer of n");
int n=Integer.parseInt(keyin.readLine());//读取输入并存取n变数
//int circle=1,rectangle=2,triangle=3;
int create(n)
{
switch(n)
{
case 1:
System.out.print("\n" +cir.getarea(3));
System.out.print("\n" +cir.getcircum(3));
case 2:
System.out.print("\n" +tri.getarea(3,3));
System.out.print("\n" +tri.getcircum(3,3));
case 3:
System.out.print("\n" +rec.getarea(3,3));
System.out.print("\n" +rec.getcircum(3,3));
}
}
}
}
--
夫兵者不祥之器物或恶之故有道者不处君子居则贵左用兵则贵右兵者不祥之器非君子
之器不得已而用之恬淡为上胜而不美而美之者是乐杀人夫乐杀人者则不可得志於天下
矣吉事尚左凶事尚右偏将军居左上将军居右言以丧礼处之杀人之众以哀悲泣之战胜以
丧礼处之道常无名朴虽小天下莫能臣侯王若能守之万物将自宾天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦将知止知止可以不殆 173-208.dorm.ncu.edu.tw海