- 项目任务 *** 作
- 任务一:采用面向过程方式求三角形面积
- 1.任务实施
- 2.运行结果
- 任务二:采用面向对象方式求三角形面积
- 1.任务实施
- 2.运行结果
- 任务三:修改Triangle类,TestTriangle类
- 任务实施
- 练习:让三角形面积输出结果保留两位有效数字
package p06;
import java.util.Scanner;
/**
* 功能:计算三角形面积
* (采用面向过程)
* 日期:2022年04月28日
*/
public class CalculateTriangleArea {
public static void main(String[] args){
double a,b,c,s;
Scanner sc = new Scanner(System.in);
System.out.print("a = ");
a = sc.nextDouble();
System.out.print("b = ");
b = sc.nextDouble();
System.out.print("c = ");
c = sc.nextDouble();
//调用三角形面积计算方法,传入实际参数a,b,c
s = getTriangArea(a,b,c); //实际参数(actual parameter),简称实参
//根据返回值判断是否构成三角形
if (s != -1){
System.out.println("s = "+ s);
}else{
System.out.println("温馨提示:不构成三角形!");
}
}
/**
* 三角形面积计算方法
*
* @param a
* @param b
* @param c
* @return 三角形面积
*/
private static double getTriangArea(double a,double b,double c){
double s,p;
//判断能否构成三角形
if (a + b > c && b + c > a && c +a > b){
p = (a + b + c)/2;
s = Math.sqrt(p * (p - a)*(p - b)*(p - c)); //sqrt: square root
}else {
s = -1;
}
return s;
}
}
2.运行结果
-
输入的数构成三角形
-
输入的数不构成三角形
- 创建一个测试类TestTriangle类,在其主方法里创建Triangle对象,设置其属性,调用方法,计算三角形面积
- (1)创建测试类TestTriangle类
package p06;
import java.util.Scanner;
/**
* 功能:测试三角形类
* (采用面向对象)
* 日期:2022年4月21日
*/
public class TestTriangle {
public static void main(String[] args){
double a,b,c,s;
Scanner sc = new Scanner(System.in);
//利用无参构造方法创建三角形对象
Triangle triangle =new Triangle();
System.out.print("a = ");
a=sc.nextDouble();
System.out.print("b = ");
b=sc.nextDouble();
System.out.print("c = ");
c=sc.nextDouble();
//设置三角形对象属性
triangle.a = a;
triangle.b = b;
triangle.c = c;
//调用三角形对象属性
s = triangle.getArea();
//判断是否构成三角形
if (s != -1){
System.out.println("s = "+ s);
}else{
System.out.println("温馨提示:不构成三角形!");
}
}
}
-
(2)创建Triangle对象
-
Triangle类包含a、b、c私有属性,提供无参与有参构造方法,提供getters和setters,重写toString()方法,提供getArea()方法
package p06;
/**
* 功能:三角形类
* 日期:2022年4月21日
*/
public class Triangle {
//缺省权限属性(可被同一个包里的对象访问)
double a,b,c;
/**
* @return 三角形面积
*/
public double getArea(){
double s,p;
//判断a,b,c能否构成三角形
if (a+b>c && b+c>a && c+a>b){ //不需要参数,直接访问
p=(a+b+c)/2;
s= Math.sqrt(p*(p-a)*(p-b)*(p-c));
}else {
s = -1;
}
return s;
}
}
- 编写完成后运行TestTriangle类,输入边长计算其三角形面积
- (将a、b、c属性设置为私有属性)
- Triangle类
- 将三角形类编码部分进行修改,其余地方不变
package p06;
/**
* 功能:三角形类
* 日期:2022年4月21日
*/
public class Triangle {
//私有权限属性(只能被类里成员访问)
public double a,b,c;
public void setA(double a){
this.a = a;
}
public void setB(double b){
this.b = b;
}
public void setC(double c){
this.c = c;
}
public double getA(double a){
return a;
}
public double getB(double b){
return b;
}
public double getC(double c){
return c;
}
- TestTriangle类(setter方法)
- 调用get方法
- 代码编写
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)