JAVA计算图形面积(圆形,正方形, 长方形)
java 计算公式
![java 计算公式](https://img.taocdn.com/s3/m/f37fbfee81eb6294dd88d0d233d4b14e85243efa.png)
java 计算公式Java是一种广泛应用于各个领域的编程语言,它具有强大的计算能力,可以用来进行各种复杂的计算公式。
本文将介绍如何使用Java 来计算公式,并给出一些示例。
我们需要明确一点,Java是一种面向对象的编程语言,因此在进行公式计算时,我们需要使用适当的数据类型来存储和处理数值。
Java提供了多种数据类型,包括整型、浮点型、字符型等,我们可以根据具体的计算需求选择合适的数据类型。
在进行公式计算时,我们可以使用Java的算术运算符来进行基本的数学运算,例如加法、减法、乘法和除法。
此外,Java还提供了一些数学函数库,如Math类,其中包含了各种常用的数学函数,例如求平方根、求幂、取绝对值等。
下面,我们来看几个具体的例子。
例子1:计算圆的面积圆的面积计算公式为:面积= π * 半径的平方我们可以使用Java来计算圆的面积,代码如下:```javadouble radius = 10.0; // 定义半径double area = Math.PI * Math.pow(radius, 2); // 计算面积System.out.println("圆的面积为:" + area);例子2:解一元二次方程一元二次方程的一般形式为:ax^2 + bx + c = 0我们可以使用Java来解一元二次方程,代码如下:```javadouble a = 1.0; // 系数adouble b = -3.0; // 系数bdouble c = 2.0; // 系数cdouble delta = Math.pow(b, 2) - 4 * a * c; // 计算判别式if (delta > 0) {double x1 = (-b + Math.sqrt(delta)) / (2 * a); // 计算第一个根double x2 = (-b - Math.sqrt(delta)) / (2 * a); // 计算第二个根System.out.println("方程的根为:" + x1 + "和" + x2);} else if (delta == 0) {double x = -b / (2 * a); // 计算重根System.out.println("方程的根为:" + x);} else {System.out.println("方程无实根");}例子3:计算斐波那契数列斐波那契数列是一个以0和1开始的数列,后面的每一项都是前面两项的和。
java编程训练题目
![java编程训练题目](https://img.taocdn.com/s3/m/4ab793b9760bf78a6529647d27284b73f2423687.png)
java编程训练题目用途:本文旨在提供一些Java编程训练题目,帮助读者熟悉和掌握Java编程语言,并提高其编程能力。
一、题目一: 计算圆的面积请编写一个Java程序,计算输入半径后输出相应圆的面积。
```javaimport java.util.Scanner;public class CircleArea {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("请输入圆的半径:");double radius = sc.nextDouble();double area = Math.PI * radius * radius;System.out.printf("半径为%.2f的圆的面积为%.2f", radius, area);sc.close();}}```二、题目二: 求矩形的周长和面积请编写一个Java程序,给定矩形的长和宽,计算并输出其周长和面积。
```javaimport java.util.Scanner;public class Rectangle {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("请输入矩形的长:");double length = sc.nextDouble();System.out.print("请输入矩形的宽:");double width = sc.nextDouble();double perimeter = 2 * (length + width);double area = length * width;System.out.printf("矩形的周长为%.2f,面积为%.2f", perimeter, area);sc.close();}}```三、题目三: 判断是否素数请编写一个Java程序,输入一个整数n,判断它是否为素数。
java求圆面积及周长
![java求圆面积及周长](https://img.taocdn.com/s3/m/a782b6c776eeaeaad1f33096.png)
}
publicintgetNum() {
returnnum;
}
publicvoidsetNum(intnum) {
this.num= num;
}
privatedoublemoney;
privateintnum;
PieceWorker() {
};
publicdoubleearnings() {
System.out.println("请输入圆的半径:");
Shape c =newCircle(sc.nextDouble());
System.out.println("圆的面积为:"+c.GetArea()+"圆的周长为:"+c.GetLength());
System.out.println("请输入矩形的长和宽:");
this.radius= radius;
}
publicdoubleGetArea() {
returnMath.PI* 2 *radius;
}
publicdoubleGetLength() {
returnMath.PI* Math.pow(radius, 2);
}
}
//矩形类,实现接口Shape
classRectangleimplementsShape {
this.week= week;
}
publicdoubleearnings() {
returnweek*money;
}
}
//定义子类PieceWorker
classPieceWorkerextendsEmployee {
java求图形的面积和、周长
![java求图形的面积和、周长](https://img.taocdn.com/s3/m/dea81ad089eb172ded63b79f.png)
实验三实验报告实验名称求图形的面积和、周长和实验目的通过本次实验使学生掌握java语言对抽象类的定义、方法重写、多态等知识点的用法实验内容代码:import java.util.Scanner;publicclass TsetShape {publicstaticdouble calculateArea(MyShape[] s) {double result = 0.0d;for (int i = 0; i < s.length; ++i) {result += s[i].getArea();}return result;}publicstaticdouble calculateRound(MyShape[] s) {double result = 0.0d;for (int i = 0; i < s.length; ++i) {result += s[i].getRound();}return result;}publicstaticvoid printAllShapse(MyShape[] s) {System.out.println("所有图形:");for (int i = 0; i < s.length; ++i) {System.out.println(s[i]);}}publicstaticvoid main(String[] args) {/*Scanner scan =new Scanner(System.in);System.out.println("");MyShape[] myShape=new MyShape[4];for (int i=0;i<5;i++){int n=scan.nextInt();}*/MyShape[] myShape = {new Square(8),new Square(10),new Circle(8),new Triangle(8, 6, 6),new Triangle(10, 10, 10)};printAllShapse(myShape);System.out.println("面积和是: " + calculateArea(myShape));System.out.println("周长和是: " + calculateRound(myShape));};}abstractclass MyShape {private String name;public MyShape(String name) { = name;}publicabstractdouble getArea();publicabstractdouble getRound();public String toString() {return"\"" + name + "\", 面积是: " + this.getArea() + ",周长是: " + this.getRound();}}class Circle extends MyShape {privatedouble r;public Circle(double r) {super("圆形, 半径是: " + r);this.r = r;}publicdouble getArea() {return Math.PI * r * r;}publicdouble getRound() {return 2 * Math.PI * r;}}class Square extends MyShape {privatedouble a;public Square(double a) {super("正方形, 边长是: " + a);this.a = a;}publicdouble getArea() {return a * a;}publicdouble getRound() {return 4 * a;}}class Triangle extends MyShape { //三角形privatedouble a;privatedouble b;privatedouble c;public Triangle(double a, double b, double c) { super("三角形, 三边是: " + a + ", " + b + ", " + c);this.a = a;this.b = b;this.c = c;}publicdouble getArea() {double p = (a + b + c) / 2;double s =ng.Math.sqrt(p * (p - a) * (p - b) * (p - c));return s;}publicdouble getRound() {return a + b + c;}}截图:实验心得:这次试验基本掌握了掌握java语言对抽象类的定义、方法重写、多态等知识点的用法,对方法重写有进一步认识,在这方面能力还欠缺应该继续努力掌握更多知识。
java矩形的面积和周长
![java矩形的面积和周长](https://img.taocdn.com/s3/m/9a2bf032df80d4d8d15abe23482fb4daa58d1dfa.png)
java矩形的面积和周长Java是一种编程语言,可以被用于谋求各种有趣的应用程序。
本篇文章将介绍如何通过Java计算出矩形的面积和周长。
第一步,我们需要定义矩形的长和宽。
我们可以使用Java的变量来定义这些参数。
在这个例子中,我们假设矩形的长是10,宽是5。
代码如下:int length = 10;int width = 5;第二步,我们可以计算出矩形的面积。
矩形面积的公式是:面积=长x宽。
我们可以使用Java的乘法运算符“*”来计算出面积。
代码如下:int area = length * width;第三步,我们可以计算出矩形的周长。
矩形周长的公式是:周长=2x(长+宽)。
同样的,我们可以使用Java的加法和乘法运算符来计算出周长。
代码如下:int perimeter = 2 * (length + width);第四步,我们可以使用Java的输出语句将结果打印出来。
代码如下:System.out.println("矩形的面积是:" + area);System.out.println("矩形的周长是:" + perimeter);我们也可以将结果打印出来后保存到一个文件中。
代码如下:try {PrintWriter writer = new PrintWriter("result.txt");writer.println("矩形的面积是:" + area);writer.println("矩形的周长是:" + perimeter);writer.close();} catch (IOException e) {System.out.println("写入文件出错!");}最后,我们可以在控制台或者查看生成的文件中查看结果了。
完整代码如下:public class Rectangle {public static void main(String[] args) {int length = 10;int width = 5;int area = length * width;int perimeter = 2 * (length + width);System.out.println("矩形的面积是:" + area);System.out.println("矩形的周长是:" + perimeter);try {PrintWriter writer = newPrintWriter("result.txt");writer.println("矩形的面积是:" + area);writer.println("矩形的周长是:" + perimeter);writer.close();} catch (IOException e) {System.out.println("写入文件出错!");}}}在本例中,我们使用了基本的Java语法来计算矩形的面积和周长。
java空间多边形计算面积的方法
![java空间多边形计算面积的方法](https://img.taocdn.com/s3/m/7937de42a36925c52cc58bd63186bceb19e8ed96.png)
java空间多边形计算面积的方法多边形是由若干条线段组成的封闭图形,每条线段称为边。
多边形的面积是指多边形所围成的平面区域的大小。
计算多边形的面积是一个常见的几何问题,有多种方法可以实现。
在Java中,我们可以使用以下步骤来计算多边形的面积:1. 定义多边形的顶点坐标:首先,我们需要定义多边形的顶点坐标。
可以通过数组或列表来存储顶点的坐标信息。
例如,对于一个三角形,我们可以定义三个顶点的x和y坐标。
2. 计算多边形的边长:多边形的边长是指多边形相邻两个顶点之间的距离。
可以使用两点之间的距离公式来计算每条边的长度。
对于一个n边形,我们需要计算n个边的长度。
3. 计算多边形的面积:有多种方法可以计算多边形的面积,其中最常用的方法是使用多边形的顶点坐标和边长来计算。
这个方法被称为“三角形分割法”或“格林公式”。
a) 三角形分割法:根据三角形的面积公式,我们可以将多边形分割成若干个三角形,然后计算每个三角形的面积,最后将这些三角形的面积相加即可得到多边形的面积。
对于n边形,我们需要分割成n-2个三角形。
b) 格林公式:格林公式是一种更简单的计算多边形面积的方法。
它利用了多边形的顶点坐标和边长的关系来计算面积。
具体而言,格林公式可以表示为:面积 = 0.5 * (x1*y2 + x2*y3 + ... + xn*y1 - y1*x2 - y2*x3 - ... - yn*x1)其中,(x1, y1), (x2, y2), ..., (xn, yn)是多边形的顶点坐标。
4. 实现Java代码:在Java中,我们可以使用循环和数学公式来计算多边形的面积。
首先,我们需要定义一个方法,接受多边形的顶点坐标作为参数,并返回计算得到的面积值。
然后,我们可以在方法中使用循环来计算每个三角形的面积,并将其累加得到多边形的总面积。
下面是一个使用三角形分割法计算多边形面积的示例代码:```javapublic class PolygonAreaCalculator {public static double calculateArea(double[] x, double[] y) {int n = x.length;double area = 0.0;for (int i = 0; i < n; i++) {int j = (i + 1) % n;area += x[i] * y[j] - x[j] * y[i];}area = Math.abs(area) / 2.0;return area;}public static void main(String[] args) {double[] x = {0.0, 1.0, 1.0, 0.0}; // 多边形顶点的x坐标double[] y = {0.0, 0.0, 1.0, 1.0}; // 多边形顶点的y坐标double area = calculateArea(x, y);System.out.println("多边形的面积为:" + area);}}```以上代码中,我们定义了一个PolygonAreaCalculator类,其中包含了一个calculateArea方法用于计算多边形的面积。
java 求圆的面积代码
![java 求圆的面积代码](https://img.taocdn.com/s3/m/04688efcb8f67c1cfad6b89d.png)
System.out.println("圆的周长为:"+cr.circlePerim());
circleA c = new circleA();
c.setR(1);
System.out.println("圆的面积为:"+c.circleArea());
System.out.println("圆的周长为:"+c.circlePerim());
Cylinder Cy = new Cylinder(5,12);
Cy.volume();
Cy.Area();
Cylinder Cyd = new Cylinder();
Cyd.setHeight(2);
Cyd.volume();
Cyd.Area();
}
}
五、实验结果、分析、体会等:
实验分析与体会?
this.circleR = circleR;
}
public double circleArea(){//求面积
return PI*Math.pow(getR(),2);
}
public double circlePerim(){//求周长
return 2*getR()*PI;
}
public double getR() {//赋值
2.了解类的封装方法,以及如何创建类和对象。
3.掌握成员变量和成员方法的特性及构造方法的使用。
4.掌握包的编写以及如何使用包中的类。
5.掌握数组的定义和使用方法,深刻理解数组的存储和引用
java实用教程书第五版第四章本例题
![java实用教程书第五版第四章本例题](https://img.taocdn.com/s3/m/a8079397250c844769eae009581b6bd97f19bcf6.png)
java实用教程书第五版第四章本例题Java是一种广泛使用的计算机编程语言,具有跨平台、面向对象、简洁易读等特点。
为了帮助初学者更好地掌握Java编程,许多教材都提供了实例题供学生练习。
本文将介绍Java实用教程书第五版第四章的一个例题,并给出解答。
本例题的题目是“计算圆的面积和周长”。
要求编写一个Java程序,输入圆的半径,然后计算并输出圆的面积和周长。
首先,我们需要了解圆的面积和周长的计算公式。
圆的面积公式为:面积= π * 半径 * 半径,其中π是一个常数,约等于3.14159。
圆的周长公式为:周长= 2 * π * 半径。
接下来,我们可以开始编写Java程序。
首先,我们需要导入Java的数学库,以便使用π这个常数。
代码如下:```javaimport ng.Math;```然后,我们需要定义一个主函数,用于程序的入口。
在主函数中,我们需要获取用户输入的半径,并将其存储在一个变量中。
代码如下:```javapublic static void main(String[] args) {double radius; // 定义一个变量用于存储半径Scanner scanner = new Scanner(System.in); // 创建一个Scanner对象,用于获取用户输入System.out.print("请输入圆的半径:");radius = scanner.nextDouble(); // 获取用户输入的半径}```接下来,我们可以根据半径计算圆的面积和周长,并将结果输出。
代码如下:```javadouble area = Math.PI * radius * radius; // 计算圆的面积double perimeter = 2 * Math.PI * radius; // 计算圆的周长System.out.println("圆的面积为:" + area);System.out.println("圆的周长为:" + perimeter);```最后,我们需要关闭Scanner对象,释放资源。
java求图形的面积(两种比较)
![java求图形的面积(两种比较)](https://img.taocdn.com/s3/m/28e74dde48649b6648d7c1c708a1284ac8500520.png)
java求图形的⾯积(两种⽐较)⽤java求图形的⾯积第⼀种(单次输⼊):import java.util.Scanner;//练习⼀求图形的⾯积public class TestArea {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("1 矩形 2 三⾓形 3圆");System.out.print("请选择图形:");Scanner sc=new Scanner(System.in);int a=sc.nextInt();switch(a){case 1:System.out.print("请输⼊矩形的宽:");double a_wight=sc.nextDouble();System.out.println();System.out.print("请输⼊矩形的⾼:");double a_height=sc.nextDouble();System.out.println();System.out.println("该矩形的⾯积为:"+(a_wight*a_height));break;case 2:System.out.print("请输⼊三⾓形的第⼀条边:");double a_first=sc.nextDouble();System.out.println();System.out.print("请输⼊三⾓形的第⼆条边:");double a_second=sc.nextDouble();System.out.println();System.out.print("请输⼊三⾓形的第三条边:");double a_third=sc.nextDouble();System.out.println();double p=(a_first+a_second+a_third)/2;double s=Math.sqrt(p*(p-a_first)*(p-a_second)*(p-a_third));System.out.println("该三⾓形的⾯积为:"+s);break;case 3:System.out.print("请输⼊圆形的半径:");double a_r=sc.nextDouble();System.out.println();System.out.println("该圆形的⾯积为:"+(3.14*a_r*a_r));break;default:System.out.println("没有该图形请重新运⾏再输⼊!");}}}第⼆种(循环输⼊):import java.util.Scanner;/*编写程序,设计⼀个图平⾯积计算,选择不同的图形输⼊数字计算⾯积,选择4退出程序。
Java练习(创建类,设计类Circle计算圆的面积,对象数组)
![Java练习(创建类,设计类Circle计算圆的面积,对象数组)](https://img.taocdn.com/s3/m/b39e57b20129bd64783e0912a216147917117e0d.png)
Java练习(创建类,设计类Circle计算圆的⾯积,对象数组)按要求创建⼀个Person类的对象要求:(1)创建Person类的对象,设置该对象的name,age和sex属性,调⽤study⽅法,输出字符串"studying",调⽤showAge()⽅法显⽰age值,调⽤addAge()⽅法给对象的age属性值圳加2岁。
(2)创建第⼆个对象,执⾏上述操作,体会同⼀个类的不同对象之间的关系。
Person1.javapublic class Person1 {String name;int age;/*** sex:1 表明是男性* sex:0 表明是⼥性*/int sex;public void study() {System.out.println("studying");}public void showAge() {System.out.println("age:" + age);}public int addAge(int i) {age += i;return age;}}Person1Test.javapublic class Person1Test {public static void main(String[] args) {Person1 p1 = new Person1(); = "Tom";p1.age = 18;p1.sex = 1;p1.study();p1.showAge();int newAge = p1.addAge(2);System.out.println( + "的新年龄为: " + newAge );System.out.println(p1.age);//*********************************Person1 p2 = new Person1();p2.showAge();p2.addAge(10);p2.showAge();p1.showAge();}}运⾏结果:设计类Circle计算圆的⾯积public class CirecleTest {public static void main(String[] args) {Cirecle c1 = new Cirecle();c1.radius = 2.1;//⽅式⼀// double area = c1.findArea();// System.out.println(area);//⽅式⼆c1.findArea();}}class Cirecle{//属性double radius;//求圆的⾯积//⽅式⼀:// public double findArea() {// double area = Math.PI * radius * radius ;// return area;// }//⽅式⼆:public void findArea() {double area = Math.PI * radius * radius;System.out.println("⾯积为: " + area);}}运⾏结果:对象数组定义类Student,包含三个属性:学号number(int),年级state(int),成绩score(int)。
【Java】编写Java应用程序,完成从键盘输入圆的半径,求圆的周长和面积并输出结果的功能
![【Java】编写Java应用程序,完成从键盘输入圆的半径,求圆的周长和面积并输出结果的功能](https://img.taocdn.com/s3/m/66f6ae2d580102020740be1e650e52ea5518ce14.png)
【Java】编写Java应⽤程序,完成从键盘输⼊圆的半径,求圆的周长和⾯积并输出结果的功能计算公式周长=2*PI*R⾯积=PI*R*R控制台import java.io.*;public class MyTest {/*输⼊圆的半径,求圆的周长和⾯积*/public static void main(final String[] args) throws IOException{ //定义变量PIfinal double PI=3.14;//定义变量byte buf[]=new byte[50];double r,girth,area;//输⼊圆的半径System.out.println("请输⼊圆的半径:");System.in.read(buf);String str=new String(buf);r=Double.parseDouble(str.trim());//计算周长和⾯积girth=2*PI*r;area=PI*r*r;//输出结果System.out.println("圆的周长为:"+girth);System.out.println("圆的⾯积为:"+area);}}GUIimport javax.swing.JOptionPane;public class MyTest2 {/*输⼊圆的半径,求圆的周长和⾯积*/public static void main(final String[] args){//定义变量PIfinal double PI=3.14;double r,girth,area;//图形化输⼊⽅案final String s1=JOptionPane.showInputDialog("请输⼊圆的半径:");r=Double.parseDouble(s1);//计算周长和⾯积girth=2*PI*r;area=PI*r*r;//输出结果JOptionPane.showMessageDialog(null,"圆的周长为\n"+girth+"\n"+"圆的⾯积为\n"+area);}}。
JAVA计算图形面积圆形正方形长方形
![JAVA计算图形面积圆形正方形长方形](https://img.taocdn.com/s3/m/a865e1ae8762caaedc33d413.png)
反思(2/3)
請同學進行學習反思,你從此問題學到什 麼?
本次練習,你覺得JAVA有哪些特性可以支援
物件導向程式設計?
○ 何謂抽象類別?
○ 方法的覆載(overloading)
反思(3/3)
請同學進行學習反思,你從此問題學到什 麼?
本次練習,你覺得物件導向程式有哪些不錯
的測試策略與技巧? 本次練習,你覺得物件導向設計具有哪些優 點?(以本問題為例,舉例具體說明)
(建構元) public void setSideLength(double l) :設定 新的邊長
Circle類別
繼承Shape類別 資料成員
半徑:radius
功能成員
實作public void computeArea():計算圓形的
面積 public Circle(double r):建立特定的圓形(建 構元) public void setRadius(double r) :設定新的 半徑
繼承類別
}
Square類別
public class Square extends Rectangle { public Square(double n) { side_X = n ; side_Y= n; } public void setSideLength(double l) { side_X= l ; side_Y = l; } }
○ 透過繼承簡化系統複雜度 ○ 更清晰的問題模式與自然的計算邏輯 ○ 容易測試與維護
延伸學習
請同學列舉其它與本問題相關的學習
類別的繼承關係為何 何謂抽象類別,抽象方法
請同學就本次學習的結果,設計測驗題目
三角形正方形 圆和正五边形的周长和面积计算 java实现
![三角形正方形 圆和正五边形的周长和面积计算 java实现](https://img.taocdn.com/s3/m/859e15dd50e2524de5187e8d.png)
JA V A实现三角形正方形圆正五边形的周长和面积的计算新建一个包lab_1包里面包括点三角形正方形圆正五边形还有主函数类六个类;代码如下:package lab_1;//新建一个点类public class Point {double x;double y;public Point(double x,double y){this.x=x;this.y=y;}public double Getx(){return x;}public double Gety(){return y;}}package lab_1;//三角形类public class Triangle {Point A,B,C;//定义三角形三个顶点public double L,p1,S;//L为周长S为面积public Triangle(Point A,Point B,Point C){//构造函数this.A=A;this.B=B;this.C=C;}public double Perimeter(){//利用海伦公式计算周长doubleAB=Math.sqrt((A.Getx()-B.Getx())*(A.Getx()-B.Getx())+(A.Gety() -B.Gety())*(A.Gety()-B.Gety()));doubleBC=Math.sqrt((B.Getx()-C.Getx())*(B.Getx()-C.Getx())+(B.Gety() -C.Gety())*(B.Gety()-C.Gety()));doubleAC=Math.sqrt((A.Getx()-C.Getx())*(A.Getx()-C.Getx())+(A.Gety() -C.Gety())*(A.Gety()-C.Gety()));return L=AB+BC+AC;}public double area(){//利用海伦公式计算面积doubleAB=Math.sqrt((A.Getx()-B.Getx())*(A.Getx()-B.Getx())+(A.Gety() -B.Gety())*(A.Gety()-B.Gety()));doubleBC=Math.sqrt((B.Getx()-C.Getx())*(B.Getx()-C.Getx())+(B.Gety() -C.Gety())*(B.Gety()-C.Gety()));doubleAC=Math.sqrt((A.Getx()-C.Getx())*(A.Getx()-C.Getx())+(A.Gety() -C.Gety())*(A.Gety()-C.Gety()));p1=(AB+BC+AC)/2;return S=Math.sqrt((p1*(p1-AB)*(p1-BC)*(p1-AC)));//返回面积}}package lab_1;//正方形类public class Square {Point D,E;//定义正方形的对角定点public Square(Point D,Point E){//构造函数this.D=D;this.E=E;}public double Perimeter(){double a,L;//a正方形边长,L正方形周长doubleDE=Math.sqrt((D.Getx()-E.Getx())*(D.Getx()-E.Getx())+(D.Gety() -E.Gety())*(D.Gety()-E.Gety()));a=Math.sqrt(DE*DE/2);return L=4*a;}public double area(){double S;//定义面积doubleDE=Math.sqrt((D.Getx()-E.Getx())*(D.Getx()-E.Getx())+(D.Gety() -E.Gety())*(D.Gety()-E.Gety()));double b=Math.sqrt(DE*DE/2);return S=b*b;//返回面积}}package lab_1;//圆类public class Circle {Point F;//圆心坐标double r;//r为圆的半径public Circle(Point F,double r){//构造函数this.F=F;this.r=r;}public double Perimeter(){double L=Math.PI*2*r;return L;}public double area(){double S=Math.PI*r*r;return S;}}package lab_1;//正五边形类public class Pentagon {Point G;//正五边形中心点Point H;//正五边形任意一个顶点public Pentagon( Point G,Point H){this.G=G;this.H=H;}public double Perimeter(){doubleGH=Math.sqrt((G.Getx()-H.Getx())*(G.Getx()-H.Getx())+(G.Gety() -H.Gety())*(G.Gety()-H.Gety()));double f=GH*(Math.sin(36*Math.PI/180));//f为边的一半double L=10*f;//计算周长return L;}public double area(){doubleGH=Math.sqrt((G.Getx()-H.Getx())*(G.Getx()-H.Getx())+(G.Gety() -H.Gety())*(G.Gety()-H.Gety()));double g=GH*(Math.cos(36*Math.PI/180));//计算三角形的高double f=GH*(Math.sin(36*Math.PI/180));//f为边的一半double S=5*g*f;//计算面积return S;}}package lab_1;//主函数调用类public class main {public static void main(String[] args) {//三角形的三个顶点坐标Point A=new Point(1,0);Point B=new Point(4,2);Point C=new Point(2,4);Triangle x1=new Triangle(A,B,C);System.out.println("三角形的面积是: "+x1.area());System.out.println("三角形的周长是: "+x1.Perimeter());//正方形的对角点坐标Point D=new Point(1,1);Point E=new Point(4,4);Square x2=new Square(D,E);System.out.println("正方形的面积是: "+x2.area());System.out.println("正方形的周长是: "+x2.Perimeter());//圆的圆心和半径Point F=new Point(4,5);double r=4.00;Circle x3=new Circle(F,r);System.out.println("圆的面积是: "+x3.area());System.out.println("圆的周长是: "+x3.Perimeter());//新建正五边形的中心点和一个圆点Point G=new Point(3,3);Point H=new Point(5,5);Pentagon x4=new Pentagon(G,H);System.out.println("正五边形的面积是: "+x4.area());System.out.println("正五边形的周长是: "+x4.Perimeter());}}运行结果:三角形的面积是: 5.000000000000003三角形的周长是: 10.557084025827841正方形的面积是: 8.999999999999998正方形的周长是: 11.999999999999998圆的面积是: 50.26548245743669圆的周长是: 25.132741228718345正五边形的面积是: 19.021130325903073正五边形的周长是: 16.625077511098137。
java数学表达式
![java数学表达式](https://img.taocdn.com/s3/m/1af7d97ca9956bec0975f46527d3240c8447a11c.png)
java数学表达式Java是一种广泛应用于软件开发的编程语言,它支持各种数学表达式的计算和处理。
本文将探讨在Java中如何使用数学表达式,并给出一些实际应用的例子。
在Java中,我们可以使用各种数学运算符来进行数学计算。
例如,加法运算符(+)可以将两个数值相加,减法运算符(-)可以将一个数值减去另一个数值,乘法运算符(*)可以将两个数值相乘,除法运算符(/)可以将一个数值除以另一个数值,求余运算符(%)可以求一个数值除以另一个数值的余数。
除了基本的数学运算符,Java还提供了一些数学函数和常量。
例如,Math类提供了一些常用的数学函数,如求平方根(Math.sqrt())、求绝对值(Math.abs())、求幂次方(Math.pow())等。
此外,Math类还定义了一些常用的数学常量,如π(Math.PI)和自然对数的底数e(Math.E)。
在Java中,我们可以使用数学表达式来解决各种实际问题。
例如,我们可以使用数学表达式来计算圆的面积和周长。
假设半径为r的圆的面积可以用公式πr^2来计算,周长可以用公式2πr来计算。
那么,我们可以使用Java代码来计算圆的面积和周长:double radius = 5.0; // 圆的半径double area = Math.PI * Math.pow(radius, 2); // 计算圆的面积double perimeter = 2 * Math.PI * radius; // 计算圆的周长System.out.println("圆的面积:" + area);System.out.println("圆的周长:" + perimeter);除了计算圆的面积和周长,我们还可以使用数学表达式来解决其他实际问题。
例如,我们可以使用数学表达式来计算两点之间的距离。
假设有两个二维平面上的点A(x1, y1)和B(x2, y2),那么两点之间的距离可以用公式√((x2-x1)^2 + (y2-y1)^2)来计算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
的方法
○ 透過繼承簡化系統複雜度 ○ 更清晰的問題模式與自然的計算邏輯 ○ 容易測試與維護
延伸學習
請同學列舉其它與本問題相關的學習
類別的繼承關係為何 何謂抽象類別,抽象方法
請同學就本次學習的結果,設計測驗題目
抽象類別與方法
抽象類別
具有共用的資料與方法成員 不能實際產生物件
方法的覆載(Overloading)
定義抽象動作 public double getArea() { return area; } public void printArea(){ System.out.println("Area is:" + area); }
}
Rectangle類別
public class Rectangle extends Shape { protected double side_X , side_Y; public Rectangle() { side_X = 0; side_Y=0 ; } public Rectangle(double x, double y) { side_X = x ; side_Y = y; } public void computeArea() { area = side_X * side_Y ; } public void setSideLength(double x, double y) { side_X = x ; side_Y=y; } }
繼承
繼承
繼承
Shape類別
抽象類別
不能產生物件 (沒有具體足夠的資訊)
資料成員
面積:protected double area ○ (任何的形狀都有面積)
功能成員
public void computeArea():計算面積(抽象動作) public double getArea():取得形狀的面積 (具體
繼承類別
Square類別
public class Square extends Rectangle { public Square(double n) { side_X = n ; side_Y= n; } public void setSideLength(double l) { side_X= l ; side_Y = l; } }
Circle類別
繼承Shape類別 資料成員 半徑:radius 功能成員 實作public void computeArea():計算圓形的
面積 public Circle(double r):建立特定的圓形(建 構元) public void setRadius(double r) :設定新的 半徑
動作) public void printArea():顯示形狀的面積 (具體 動作)
Rectangle類別
繼承Shape類別 繼承相關的屬性和動作 (protected, public) 資料成員 邊長:protected double sideX protected 邊長: protected double sideY 功能成員 實作public void computeArea():計算長方形
的面積 public void setSideLength(double x, double y) :設定新的邊長
Square類別
繼承Rectangle類別 資料成員
無
功能成員
public Square(double n):建立特定的正方形
(建構元) public void setSideLength(double l) :設定 新的邊長
反思(1/3)
學習單4:請同學進行學習反思,你從此
問題學到什麼?
本次練習,你覺得設計一個類別需要考慮到? ○ 抽象類別 ○ 與其他類別的關係 本次練習,你覺得類別的建立有哪些策略? ○ 從名詞找類別 ○ 根據領域知識定義類別與資料成員 ○ 根據領域知識定義類別的方法成員 ○ 根據領域知識定義類別之間的關係
學習單3: JAVA Code
學習任務
請利用BlueJ撰寫本問題的JAVA Code,
並且進行測試
Shape類別
public abstract class Shape { protected double area;
定義抽象類別
abstract public void computeArea();
Circle類別
public class Circle extends Shape { private double radius; final private double PI = 3.414; public Circle() { radius = 0; } public Circle(double r) { radius = r ; } public void computeArea() { area = Math.pow(radius,2.0)*PI; } public void setRadius(double r) { radius = r ; } }
問題分析:掌握領域知識
給一個形狀(含正方形、長方形及圓形)以
及相關資料,請問面積是?
學習單1:請同學整理相關領域知識
面積?
物件模型
學習單2:請同學根據問題描述,尋找適當 的物件模型
給一個形狀(可能是正方形、長方形或圓形)以及相關 資料,請問面積是? 名詞 ○ 形狀: ○ 正方形:Square ○ 長方形:Rectangle ○ 圓形:Circle ○ 邊長、半徑、面積:類別的成員 ○ 類別之間的關係:運用歸納能力
反思(2/3)
請同學進行學習反思,你從此問題學到什
麼?
本次練習,你覺得JAVA有哪些特性可以支援
物件導向程式設計?
○ 何謂抽象類別? ○ 方法的覆載(overloading)
反思(3/3)
請同學進行學習反思,你從此問題學到什
麼?
本次練習,你覺得物件導向程式有哪些不錯
的測試策略與技巧? 本次練習,你覺得物件導向設計具有哪些優 點?(以本問題為例,舉例具體說明)
Hale Waihona Puke 類別多型 特過類別繼承階層,一個物件變數可以指
到不同的類別
Shape s ; s = new Rectangle(2, 2); puteArea(); s.printArea(); s = new Square(2); puteArea(); s.printArea(); s = new Circle(2); puteArea(); s.printArea();
王豐緒 銘傳大學資訊工程學系
問題基本資訊
標題
具有計算面積能力的形狀
問題描述
給一個形狀 ( 可能是正方形、長方形或圓形 ) 以
及相關資料,請問面積是 ?
目的
讓同學練習多類別的設計(透過繼承與抽象類別,
別多型),並轉換成物件模型與JAVA Code版本: 2011/07/28
提示
請以UML圖型繪製本問題的物件模型 以JAVA實作程式