java初學基礎 使用繼承 計算圓形周長、面積和圓柱體積
阿新 • • 發佈:2018-12-19
程式效果圖:
程式入口,Geo類
import java.util.Scanner; public class Geo{ final double PI = 3.14; public static void main(String[] args) { boolean i = true; while (i) { System.out.println("#################"); System.out.println("# 1:得到圓形周長 #"); System.out.println("# 2:得到圓形面積 #"); System.out.println("# 3:得到圓柱體積 #"); System.out.println("# 4:結束本程式 #"); System.out.println("#################"); System.out.println("請輸入功能前序號"); Scanner scan = new Scanner(System.in); int s = scan.nextInt(); switch (s) { case 1: Perimeter p = new Perimeter(); System.out.println("圓的周長為:"+p.getPer(input())); break; case 2: Area a = new Area(); System.out.println("圓的面積為:"+a.getAre(input())); break; case 3: Volume v =new Volume(); double area = v.getAre(input()); System.out.println("圓的體積為:"+v.getVol(area)); break; default: i = false; System.out.println("程式結束。"); break; } } } private static double input(){ System.out.println("請輸入圓的半徑:"); Scanner scan = new Scanner(System.in); double r = scan.nextFloat(); return r; } }
用作求周長的Perimeter類
public class Perimeter extends Geo{
public double getPer(double r){
return 2*PI*r;
}
}
用作求面積的Area類
public class Area extends Geo{
public double getAre(double r){
return r*PI*r;
}
}
用作求圓柱體積的Volume類
import java.util.Scanner; public class Volume extends Area{ public double getVol(double area){ System.out.println("請輸入圓柱的高度:"); Scanner scan = new Scanner(System.in); double h = scan.nextFloat(); return area*h; } }
還有個優化版本,使用了super呼叫父類方法,有時間再放上。