java 三角形類 Triangle的用法詳解
設(shè)計(jì)一個(gè)名為 Triangle 的類來擴(kuò)展 GeometricObject 類。該類包括:
1、三個(gè)名為 side1,side2,side3 的double 數(shù)據(jù)域表示這個(gè)三角形的三條邊,它們的默認(rèn)值是1.0.
2、一個(gè)無參構(gòu)造方法創(chuàng)建的默認(rèn)的三角形
3、一個(gè)能創(chuàng)建帶指定side1,side2,side3的三角形的構(gòu)造方法
4、所有三個(gè)數(shù)據(jù)域的訪問器方法
5、一個(gè)名為getArea()的方法返回這個(gè)三角形的面積
6、一個(gè)名為getPerimeter()的方法返回這個(gè)三角形的周長
7、一個(gè)名為toString()的方法返回這個(gè)三角形的字符串描述
問題分析:按部就班,根據(jù)要求,從數(shù)據(jù)域,到構(gòu)造方法(無參,有參),到方法,到測(cè)試類
學(xué)會(huì)使用繼承以及繼承的方法就好
代碼演示(已驗(yàn)證)1、創(chuàng)建的類:
// 創(chuàng)建的類package java_testquestions;class GeometricObject{ private String color = 'white'; private boolean filled; private java.util.Date dateCreated; public GeometricObject() { dateCreated = new java.util.Date(); } public GeometricObject(String color,boolean filled) { dateCreated = new java.util.Date(); this.color = color; this.filled = filled; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public boolean filled() { return filled; } public void setFilled(boolean filled) { this.filled = filled; } public java.util.Date getDateCreated(){ return dateCreated; } public String toString() { return 'created on '+dateCreated +'n color: '+color + ' and filled: '+filled; }}public class Triangle extends GeometricObject{ private double side1; private double side2; private double side3; String color; Triangle(){ side1 = 1.0; side2 = 1.0; side3 = 1.0; } public Triangle(double side1,double side2,double side3) { this.side1 = side1; this.side2 = side2; this.side3 = side3; } public double getSide1() { return side1; } public double getSide2() { return side2; } public double getSide3() { return side3; }// 父類中已有該方法 public void setColor(String Color) { color = Color; } public String getColor() { return color; } public double getArea() { double s = (side1+side2+side3)*1.0/2; double area = Math.sqrt(s*(s-side1)*(s-side2)*(s-side3)); return area; } public double getPerimeter() { return side1+side2+side3; } public String toString() { return 'Triangle: side1 = '+side1 +'side2 = '+side2 +' side3 = '+side3; }}
2、測(cè)試類,Triangle_Test
// 測(cè)試類package java_testquestions;import java.util.Scanner;public class Triangle_Test { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println('請(qǐng)輸入三角形的三條邊:'); // 需要用字符串類型輸入,這樣在下面 輸入顏色時(shí)就不會(huì)報(bào)錯(cuò) String side11 = input.nextLine(); double side1 = Double.parseDouble(side11); String side22 = input.nextLine(); double side2 = Double.parseDouble(side22); String side33 = input.nextLine(); double side3 = Double.parseDouble(side33);// double side1 = input.nextDouble();// double side2 = input.nextDouble();// double side3 = input.nextDouble(); Triangle triangle = new Triangle(side1,side2,side3); System.out.println('請(qǐng)輸入三角形的顏色: '); String color = input.nextLine(); triangle.setColor(color); System.out.println('n'); System.out.println('請(qǐng)輸入是否填充 true or false:'); boolean filled = input.nextBoolean(); triangle.setFilled(filled); System.out.println('三角形的面積為 :'+triangle.getArea()); System.out.println('三角形的周長為 :'+triangle.getPerimeter()); System.out.println('三角形的顏色為 :'+triangle.getColor()); System.out.println('三角形是否填充 :'+triangle.filled()); }}
泡泡:
創(chuàng)建類的話認(rèn)真點(diǎn)應(yīng)該沒什么,在測(cè)試類里面有一個(gè)細(xì)節(jié)需要注意:在輸入 double 類型 的邊長時(shí),要先使用字符串類型輸入,然后在轉(zhuǎn)化為double類型數(shù)據(jù),轉(zhuǎn)化方式如下:
String side11 = input.nextLine(); double side1 = Double.parseDouble(side11); String side22 = input.nextLine(); double side2 = Double.parseDouble(side22); String side33 = input.nextLine(); double side3 = Double.parseDouble(side33);
嗯,ok,收工。
補(bǔ)充:利用java編寫三角形的判定程序
我就廢話不多說了,大家還是直接看代碼吧~
public static void main(String[] args) {// TODO 自動(dòng)生成的方法存根int a,b,c;System.out.println(“請(qǐng)輸入三角形的三邊”);@SuppressWarnings(“resource”)Scanner sc=new Scanner(System.in);System.out.println(“a=”);a=sc.nextInt();System.out.println(“b=”);b=sc.nextInt();System.out.println(“c=”);c=sc.nextInt();if((a+b)>c&&(b+c)>a&&(c+a)>b)System.out.println(a+”,”+b+”,”+c+”能構(gòu)成三角形!”);elseSystem.out.println(a+”,”+b+”,”+c+”不能構(gòu)成三角形!”);}
運(yùn)行結(jié)果如下所示
有的時(shí)候,我們需要在滿足某種條件時(shí)進(jìn)行一些操作,而不滿足條件時(shí)就不進(jìn)行任何操作,這個(gè)時(shí)候我們可以只使用 if 語句。也就是說,if else 不必同時(shí)出現(xiàn)。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. 關(guān)于WPF WriteableBitmap類直接操作像素點(diǎn)的問題2. JavaScript前端中的偽類元素before和after使用詳解3. PHP JSAPI調(diào)支付API實(shí)現(xiàn)微信支付功能詳解4. asp取整數(shù)mod 有小數(shù)的就自動(dòng)加15. 源碼分析MinimalApi是如何在Swagger中展示6. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過程(親測(cè)可用)7. ASP基礎(chǔ)入門第一篇(ASP技術(shù)簡介)8. 熊海CMS代碼審計(jì)漏洞分析9. 表單中Readonly和Disabled的區(qū)別詳解10. PHP laravel實(shí)現(xiàn)基本路由配置詳解
