跪求大神幫忙指正我的代碼還有哪些地方需要改進(jìn)
圖形類
package com.chy3.practice;
public abstract class Shape {
public abstract String square(double a,double b);
public abstract String circumFerence(double a,double b);
}
矩形類
package com.chy3.practice;
import java.util.Scanner;
public class Rectangle extends Shape {
Scanner input = new Scanner(System.in);
public void cal(){
System.out.println("計(jì)算矩形周長和面積");
System.out.println("請(qǐng)輸入兩條邊長");
double stre1 = input.nextDouble();
double stre2 = input.nextDouble();
System.out.println("周長為:? "+circumFerence(stre1, stre2));
System.out.println("面積為:? "+square(stre1, stre2));
}
@Override
public String square(double a,double b) {
// TODO Auto-generated method stub
double squ = a*b;
return "矩形面積為:"+squ;
}
@Override
public String circumFerence(double a,double b) {
// TODO Auto-generated method stub
double cif = (a+b)*2;
return "矩形周長為"+cif;
}
}
圓形類
package com.chy3.practice;
import java.lang.Math;
import java.util.Scanner;
public class Circle extends Shape {
Scanner input = new Scanner(System.in);
Double p = Math.PI;
public void cal(){
System.out.println("計(jì)算圓形的周長和面積");
System.out.println("請(qǐng)輸入半徑和直徑");
double r = input.nextDouble();
double d = input.nextDouble();
System.out.println("周長為:? "+circumFerence(r, d));
System.out.println("面積為:? "+square(r, d));
}
@Override
public String square(double a,double b) {
// TODO Auto-generated method stub
double squ = p*a*a;
return "圓的面積為"+squ;
}
@Override
public String circumFerence(double a,double b) {
// TODO Auto-generated method stub
double cif = 2*p*b;
return "圓的周長為"+cif;
}
}
實(shí)現(xiàn)類
package com.chy3.practice;
public class Initial {
public static void main(String[] args){
System.out.println("計(jì)算開始:");
Rectangle rec = new Rectangle();
rec.cal();
Circle cir = new Circle();
cir.cal();
}
}
2019-02-28
可以加,圓的直徑輸入如果不是半徑的2倍,那么輸入錯(cuò)誤,否則執(zhí)行
2019-03-10
我運(yùn)行了你的代碼,但是如果按老師講的,用抽象類定義引用變量,指向子類對(duì)象為什么不行呢,代碼和你的一樣,只是測試類有點(diǎn)不同
2019-02-23
你才是大神呀!
2019-02-21
很優(yōu)秀
2019-02-20
沒有了,已經(jīng)很好了!!