//Shape父類
public?abstract?class?Shape?{
public?float?a;
public?float?b;
public?float?r;
public?abstract?void?C();
public?abstract?void?S();
public?Shape(float?a,?float?b,?float?r)?{
this.a?=?a;
this.b?=?b;
this.r?=?r;
}
}
//矩形子類
public?class?Rectangle?extends?Shape?{
public?void?C()?{
System.out.println("矩形的周長為:"+(a+b)*2);
}
public?void?S()?{
System.out.println("矩形的面積為:"+a*b);
}
public?Rectangle(float?a,float?b,float?r)?{
super(a,b,r);
}
}
//圓形子類
public?class?Circle?extends?Shape?{
public?void?C()?{
System.out.println("圓形的周長為:"+3.14*2*r);
}
public?void?S()?{
System.out.println("圓形的面積為:"+3.14*r*r);
}
public?Circle(float?a,float?b,float?r)?{
super(a,b,r);
}
}
//輸出
import?java.util.Scanner;
public?class?Result?{
public?static?void?main(String[]?args)?{
Scanner?input?=?new?Scanner(System.in);
System.out.println("請輸入矩形的長度:");
String?z?=?input.next();
System.out.println("請輸入矩形的寬度:");
String?x?=?input.next();
System.out.println("請輸入圓形的半徑:");
String?c?=?input.next();
float?a?=?Float.parseFloat(z);
float?b?=?Float.parseFloat(x);
float?r?=?Float.parseFloat(c);
Shape?rec?=?new?Rectangle(a,?b,?r);
Shape?cir?=?new?Circle(a,?b,?r);
rec.C();
rec.S();
cir.C();
cir.S();
}
}
2017-07-27
你的輸入自己給復(fù)雜化了,輸入直接double(建議)或者float 類型的就好啊,沒必要輸入String類型,再轉(zhuǎn)化為float類型的。還有你設(shè)計的數(shù)據(jù)模型,建議在Rectangle中只設(shè)長和寬,Circle類中只設(shè)半徑,沒必要全設(shè)在父類中,還有構(gòu)造函數(shù)建議在每個子類中進(jìn)行重寫,希望能對你有所幫助
2017-08-05
package com.imooc1;
public abstract class Shape {
public abstract void ZC();
public abstract void MJ();
}
package com.imooc1;
public class Rectangle extends Shape {
public double c ;
public double k ;
public Rectangle(double c, double k) {
// TODO Auto-generated constructor stub
this.c = c;
this.k = k;
}
@Override
public void ZC() {
// TODO Auto-generated method stub
System.out.println("矩形的周長是:"+(c+k)*2);
}
@Override
public void MJ() {
// TODO Auto-generated method stub
System.out.println("矩形的面積是:"+c*k);
}
}
package com.imooc1;
public class Circle extends Shape {
public double r ;
public Circle(double r) {
// TODO Auto-generated constructor stub
this.r = r;
}
@Override
public void ZC() {
// TODO Auto-generated method stub
System.out.println("圓的周長是:"+(2*3.14*r));
}
@Override
public void MJ() {
// TODO Auto-generated method stub
System.out.println("圓的面積是:"+(3.14*r*r));
}
}
package com.imooc1;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
? ? ? ? System.out.println("請輸入矩形的長度:");
? ? ? ? double c = Double.parseDouble(input.next());
? ? ? ? System.out.println("請輸入矩形的寬度:");
? ? ? ? double k = Double.parseDouble(input.next());
? ? ? ? System.out.println("請輸入圓形的半徑:");
? ? ? ? double r = Double.parseDouble(input.next());
Shape test1 = new Rectangle(c,k);
Shape test2 = new Circle(r);
test1.ZC();
test1.MJ();
test2.ZC();
test2.MJ();
}
這是我寫的代碼 ? 你先看看 有沒有多余的 可以優(yōu)化的地方啊
2017-08-05
2017-08-05
希望你能把優(yōu)化后的代碼 發(fā)一下,讓我參考參考