问题描述
- 怎么把判断三角形三边长加到三角形面积计算里
-
三角形面积计算代码:package edu.jmi.shape;
import java.util.Scanner;public class Sanjiaoxing extends Shape{
private float a;//私有属性,除该类外,其他地方均不能直接访问
private float b;
private float c;
private float h;//计算并返回周长,输入:无,返回:周长值
public float zhouChang(){
float zhou = a+b+c;
return zhou;
}
public float mianJi(){
float mian = (a*h)/2;
return mian;
}
//读取输入,计算并显示结果
void handle(){
//1 提示
System.out.println("请输入三角的三条边长和高");
//2 读取输入
Scanner sc = new Scanner(System.in);
a = sc.nextFloat();
b = sc.nextFloat();
c = sc.nextFloat();
h = sc.nextFloat();
//计算
float zhou = zhouChang();
float mian = mianJi();
//输出
System.out.println("三角形周长是"+zhou+",面积是"+mian+"");
}
/**- @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Sanjiaoxing san=new Sanjiaoxing();
san.a =6;
san.b =5;
san.c =4;
san.h =4;
System.out.println("请输入三角形的三边长和高:");
Scanner sc = new Scanner(System.in);
san.a= sc.nextFloat();
san.b= sc.nextFloat();
san.c= sc.nextFloat();
san.h= sc.nextFloat();
float zc = san.zhouChang();//通过对象调用周长计算
System.out.println("周长:"+zc);
float mj = san.mianJi();
System.out.println("面积:"+mj);
}//main}
判断三边是否能成三角形:
package edu.jmi.java1;
import java.util.Scanner;public class Sanjiaoxing {
/**
- @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("输入三条边:");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
int j = sc.nextInt();
int k = sc.nextInt();
if(i>0 && j>0 && k>0 &&
i+j>k && i+k>j && j+k>i ){
System.out.println("Yes");
}else{
System.out.println("No");
}
}//main}
- @param args
解决方案
首先,你的第一个类Sanjiaoxing,直接去掉extends Shape就可以了,运行的结果就能输出你需要的内容的啊。
后面的代码为什么又是一Sanjiaoxing类呢?而且你没有给出Shape的定义。
所以呢,直接修正第一个Sanjiaoxing类去掉继承Shape就可以了。
解决方案二:
刚出炉的,供参考
/**
- 三角型面积计算
- @author Administrator
*
*/
public class Test04 {
public static void main(String[] args) {
Trangle trangle=new Trangle(3,4,5);
System.out.println("是否是三角形:"+trangle.check());
System.out.println("周长:"+trangle.perimeter());
System.out.println("面积:"+trangle.area());
}
}
class Trangle {
/* 三角型三边 */
private int x;
private int y;
private int z;
public Trangle(int x, int y, int z) {
this.x = x;
this.y = y;
this.z = z;
}
public boolean check() {// 三角型判断
return x + y > z && x - y < z;
}
public int perimeter() {// 三角型周长
return x + y + z;
}
public double area() {//三角型面积
int p = (x + y + z) / 2;
return Math.sqrt(p * (p - x) * (p - y) * (p - z));//面积计算公式
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getZ() {
return z;
}
public void setZ(int z) {
this.z = z;
}
}