編寫一個 Java 應用程式,該程式中有 3 個類:Triangle、T rapezium 和 Circle,分別用來 表示三角形、梯形和圓形。
Java 應用程式,該程式中有 3 個類:Triangle、T rapezium 和 Circle,分別用來 表示三角形、梯形和圓形。
具體要求如下。
Triangle 類具有型別為 double 的三個邊、周長以及面積屬性,Triangle 類具有構造方法初始化屬性和返回周長、面積以及修改三個邊的功能。另外,Triangle 類還具有一個 boolean 型的屬性,該屬性用來判斷三個數能否構成一個三角形。
Trapezium 類具有型別為 double 的上底、下底、高以及面積屬性,具有構造方法初始化屬性和返回面積的功能。
Circle 類具有型別為double的半徑、周長以及面積屬性,具有構造方法初始化屬性和返回周長、面積的功能。
生成例項測試該類。
import java.text.DecimalFormat;
import java.util.Scanner;
//三角形
class Triangle {
double x;
double y;
double z;
double c = 0;
double area = 0;
public Triangle() {
}
public void change(double a, double b, double c, double e, double f, double g) {
a = e;
b = f;
c = g;
}
public boolean judge(double x, double y, double z) {
if ((x + y > z) && (x + z > y) && (z + y > x)) {
return true;
} else {
return false;
}
}
public void area(double x, double y, double z) {
boolean g = true;
double d;
if (g == judge(x, y, z)) {
c = x + y + z;
d = c / 2;
area = Math.sqrt(d * (d - x) * (d - y) * (d - z));
System.out.println("面積為:" + area);
System.out.println("周長為:" + c);
} else {
System.out.println("輸入不能構成三角形,請重新輸入!");
}
}
}
//梯形的類
class Trapezium1 {
double a;
double b;
double c;
public Trapezium1(double m, double n, double h) {
a = m;
b = n;
c = h;
}
public double getTrArea() {
return (a + b) * c / 2;
}
}
//圓
class Circle2 {
double r;
public Circle2(double r1) {
r = r1;
}
public String getArea() {
DecimalFormat df = new DecimalFormat("0.0000");
return df.format(Math.PI * r * r);
}
public String getPerimeter() {
DecimalFormat df = new DecimalFormat("0.0000");
return df.format(2 * Math.PI * r);
}
}
public class 三角形的AP型 {
public static void main(String[] args) {
System.out.println("請輸入 s或y再或者t,分別進行運算");
Scanner sc = new Scanner(System.in);
char sb = sc.next().charAt(0);
switch (sb) {
case 's': {
System.out.println("請輸入三個數字,來構成一個三角形:");
double x = sc.nextDouble();
double y = sc.nextDouble();
double z = sc.nextDouble();
boolean s;
//建立物件
Triangle td = new Triangle();
td.judge(x, y, z);
td.area(x, y, z);
//分割線
System.out.println("-------------------分割線---------------------");
s = td.judge(x, y, z);
//修改三角形的三條邊
System.out.println("修改三條邊:");
double x1 = sc.nextDouble();
double y1 = sc.nextDouble();
double z1 = sc.nextDouble();
td.change(x, y, z, x1, y1, z1);
if (s == true) {
System.out.println("修改後能夠成一個三角形");
td.area(x1, y1, z1);
} else {
System.out.println("修改後不能構成一個三角形");
}
/* if (s == false) {
//再次給值
Scanner sd = new Scanner(System.in);
double a = sd.nextDouble();
double b = sd.nextDouble();
double c = sd.nextDouble();
td.area(a, b, c);
System.out.println("-------------------分割線---------------------");
s = td.judge(x, y, z);
}*/
break;
}
case 'y': {
System.out.println("請輸入圓半徑:");
double r = sc.nextDouble();
Circle2 c = new Circle2(r);
System.out.println("圓的面積為:" + c.getArea());
System.out.println("圓的周長為" + c.getPerimeter());
System.out.println("請輸入梯形的上底和下底及高:");
break;
}
case 't':
{
System.out.println("請輸入梯形的上底下底及其高:");
double d1=sc.nextDouble();
double d2=sc.nextDouble();
double h=sc.nextDouble();
Trapezium1 t=new Trapezium1(d1,d2,h);
System.out.println("梯形的面積為:" + t.getTrArea());
break;
}
}
}
}
相關文章
- 用Java編寫一個最簡單的桌面程式Java
- 編譯和分發 Chez Scheme 應用程式編譯Scheme
- 請用js編寫一個紅綠燈程式JS
- 用PHP編寫Android應用程式PHPAndroid
- Javascript | 分別用async await非同步方法和Promise來實現一個簡易的求職程式JavaScriptAI非同步Promise求職
- 用CSS繪製一個三角形CSS
- 用 PHP 寫一個"程式語言"PHP
- 第一個 Angular 應用程式Angular
- 用JAVA寫一個阿里雲VPC Open API呼叫程式Java阿里API
- 使用 Docker 和 Elasticsearch 構建一個全文搜尋應用程式DockerElasticsearch
- SVG <circle> 繪製圓形SVG
- CSS3梯形效果程式碼例項CSSS3
- 編寫第一個Qt程式QT
- Flutter學習指南:編寫第一個應用Flutter
- 應用程式和Activity
- 使用 Redis 和 Python 構建一個共享單車的應用程式RedisPython
- Qt 編寫應用支援多語言版本--一個GUI應用示例QTGUI
- 如何學習用Java編寫程式碼?Java
- 編寫友好的命令列應用程式命令列
- Flutter學習指南:編寫第一個Flutter應用Flutter
- Flutter入坑指南:編寫第一個Flutter應用Flutter
- [part 1] 第一個 Django 應用程式Django
- 我的第一個Android應用程式Android
- 照片和影像編輯應用程式為何盈利?
- 寫java程式碼的一些個人感受和總結Java
- 搭建一個攝像頭應用程式 應用程式內部攝像頭
- 用CSS畫一個帶陰影的三角形CSS
- 【Azure 應用服務】一個 App Service 同時部署執行兩個及多個 Java 應用程式(Jar包)APPJavaJAR
- 使用 Vala 編寫一個簡單的文字識別程式
- 程式設計面試題:編寫一個會造成資料庫死鎖的應用程式設計面試題資料庫
- 通過vue-cli3構建一個SSR應用程式Vue
- Qealler - 一個用Java編寫的惡意病毒軟體Java
- 設計和編寫一個非同步通用Picker選擇器,用於時間日期、城市、商品分類的選擇非同步
- Storm系列(三)java編寫第個storm程式ORMJava
- 用nodejs寫一個命令列應用-前言NodeJS命令列
- 使用Visual Studio Code編寫和啟用ABAP程式碼 (上)
- [譯] 使用 Web3 和 Vue.js 來建立你的第一個以太坊去中心化應用程式(第三部分)WebVue.js中心化
- 如何編寫一個可複用元件元件