交換可能なプリズム状底の体積を計算するためのオブジェクト(5)

タイトル:体積計算互換角柱下

まず、ソース

1、Test.java

/ ** 交換角形底の計算量
 * 9クラス
 * / 
パッケージW29; 

インポートjava.util.Scanner; 

パブリック クラスのテスト{ 
    
    公共 静的 ボイドメイン(文字列[]引数){
         ながら真の){ 
            スキャナリーダー = 新しい新しいスキャナ(System.in); 
            のSystem.out.println( "シリンダボトム:. R(長方形)の形状を入力してください; S(四角); T(ラダー); T(三角); C(円)" )。
             チャー C = reader.next()のcharAt(0 ); 
            Factoryの工場 = 新しい新しい工場の(); 
            シェイプ形状;
            カラムカラム = 新しいカラム(factory.getShape(C)、reader.nextDouble())。
            System.out.println( "柱体的体积" + column.getVolume()); 
        } 
    } 
}

2、Factory.java

パッケージW29;
 // ファクトリクラス
のインポートjava.util.Scanner; 

パブリック クラスファクトリーの{
     保護された形getShape(char型のC){ 
        スキャナリーダー = 新しい新しいスキャナ(System.in); 
        形状形状 = ヌル;
         スイッチ(C){
         ケース「R&LT ':のSystem.out.println( "矩形状の底、高い柱の長さと幅を入力してください");形状= 新しい新しい矩形を(reader.nextDouble()、reader.nextDouble()); BREAK ;
         ケース ' S「: System.out.println(「を入力してください側、正方形ベースを有する高気筒」);シェイプ= 新しい新しい正方形(reader.nextDouble())。BREAK ケース 'T':のSystem.out.println( "垂直台形高い、高い塔の底を入力してください");形状= 新新 TRAPEZIUM(reader.nextDouble()、reader.nextDouble()、reader.nextDouble( )); BREAK ;
         ケース 'T':のSystem.out.println( "三方を入力して、高い基質三角形の柱");形状= 新しい新しい三角形(reader.nextDouble()、reader.nextDouble()、リーダー.nextDouble()); BREAK ;
         ケース 'C':のSystem.out.println( "ハイシリンダの円形の底半径を入力してください");シェイプ= 新しい新しい円(reader.nextDouble()); BREAK ; 
        } 
        戻り; Shapeを
    } 
}

3、Shape.java

パッケージW29;
 // インタフェースの形状
パブリック インターフェース形{
     ダブルのgetArea(); 
}

4、Rectangle.java

パッケージW29;
// 矩形类
パブリック クラス矩形が実装形{
     ダブル幅、長さ。
    公共長方形(ダブル幅、ダブル長さ){
         この .width = 幅。
        この .LENGTH = 長さ。
    } 
    公共の 二重のgetArea(){
         戻り幅* 長さ; 
    } 
}

5、Square.java

パッケージW29;
// 正方形类
パブリック クラススクエア延び長方形{ 

    公共広場(ダブルサイド){
         スーパー(側側)。
    } 
    公共の 二重のgetArea(){
         戻り幅* 長さ; 
    } 
}

6、trapezium.java

パッケージW29;
// 梯形类
パブリック クラス台形は延び長方形{
     ダブル高さ;
    公共台形(、アップ、ダウン二重高さ){
         スーパー(上下)。
        この .height = 高さ; 
    } 
    公共の 二重のgetArea(){
         リターン(幅+長さ)*高さ/ 2 
    } 
}

7、Triangle.java

パッケージW29;
// 三角形类
パブリック クラストライアングル実装形{
     ダブル、B、Cと、
    公共トライアングル(ダブルダブル B、ダブルC){
         スーパー()。
        この .A = ;
        この .B = B;
        この .C = C; 
    } 
    公共の 二重のgetArea(){
         二重和=(A + B + C)/ 2 戻り Math.sqrt(SUM *(SUM-A)*(SUM-B)を*(sum- c)参照)。
    } 
}

8、Circle.java

パッケージW29;
// 圆形类
パブリック クラスサークル実装形{
     ダブル半径。
    公共サークル(二重半径){
         スーパー()。
        この .radius = 半径。
    } 
    公共の 二重のgetArea(){
         // TODO自動生成方法スタブ
        戻り半径*半径* 3.14 
    } 
}

9、の.java

パッケージW29;
// 柱体类
パブリック クラス列{ 
    形形状。
    二重の高いです;
    公共カラム(図形形状、二重ハイ){
         スーパー()。
        この .shape = 形状;
        この .high = 高いです。
    } 
    公共 ダブルgetVolume(){
         戻り shape.getArea()*は高いです。
    } 
}

第二に、成功のスクリーンショット

 

おすすめ

転載: www.cnblogs.com/wangxiangyue/p/11609235.html