2 baidu 34404120 baidu_34404120 于 2016.04.09 22:34 提问

java三角形图形计算器怎么判断边?求教大神

package edu.jmi.shape;
import java.util.Scanner;

public class SanJiaoXing {
float length;
float high;

/**
 * @param args
 */




float zhouChang(){
    float zhou = 3*length;
    return zhou;
}
float mianJi(){
    float mian = (length*high)/2;
    return mian;

}
public static void main(String[] args) {
    // TODO Auto-generated method stub
    SanJiaoXing san = new SanJiaoXing();
    san.length = 6;
    san.high = 5;
    System.out.println("请输入三角形的长和高:");
    Scanner sc = new Scanner(System.in);
    san.length = sc.nextFloat();
    san.high = sc.nextFloat();//从键盘导入

    float zc = san.zhouChang();//通过对象调用周长计算面积
    System.out.println("周长"+zc);
    float mj = san.mianJi();
    System.out.println("面积"+mj);

}

}

5个回答

caozhy
caozhy   Ds   Rxr 2016.04.09 22:37

三角形的长是什么东西?只有三边长,或者周长,或者底边长,三角形不是长方形,哪里来的长。

caozhy
caozhy 回复baidu_34404120: 可是你根本没有输入三个边,怎么判断。假设输入了,判断方法是两边之和必须大于第三边,否则不能构成三角形。
一年多之前 回复
baidu_34404120
baidu_34404120 就是判断输入三边是否组成三角形,然后计算
一年多之前 回复
CSDNXIAOD
CSDNXIAOD   2016.04.09 22:42

由边判断三角形类型
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

baidu_34404120
baidu_34404120 怎么咬你。。
一年多之前 回复
qq_31930741
qq_31930741   2016.04.09 23:14

先定义三个边长,用if语句判断输入的两条边长是否大于第三条边长。如果大于,再进去 这里面:
System.out.println("请输入三角形的长和高:");
Scanner sc = new Scanner(System.in);
san.length = sc.nextFloat();
san.high = sc.nextFloat();//从键盘导入

    我也是个学生,也是刚学没多久java,我也不知道这个思路对不对。多多指教啊。
baidu_34404120
baidu_34404120 先定义三个边长,用if语句判断输入的两条边长是否大于第三条边长。如果大于,再进去这个怎么弄
一年多之前 回复
H_JinXian
H_JinXian   2016.04.09 23:36

不是应该从键盘输入三角形的三个边长吗?然后用两边之和大于第三边判断是否可以形成三角形,最后用海伦公式计算面积,周长就是三边和

H_JinXian
H_JinXian   2016.04.10 15:59

这是我刚才回答别人问题的代码,希望可以解决你的问题,你可以直接复制,然后运行试试,具体不懂得可以问我

 import java.util.Scanner;

public class Test 
{
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入三角形边长:");
        double a=scan.nextDouble();
        double b=scan.nextDouble();
        double c=scan.nextDouble();
        Triangle s=new Triangle();
        if((a+b)>c&&(a+c)>b&&(b+c)>a){
            s=new Triangle(a,b,c);
            System.out.println("三角形的三边分别为:"+a+"\t"+b+"\t"+c);
        }
        else{
            System.out.println("输入的三边不能形成三角形!");
            System.exit(0);
        }
        System.out.println("周长为:"+s.round());
        System.out.println("面积为:"+s.area());
    }
}
 class Triangle{
    double a;
    double b;
    double c;
    public Triangle(){

    }
    public Triangle(double x,double y,double z){
        this.a=x;
        this.b=y;
        this.c=z;
    }
    public double round(){
        return a+b+c;
    }
    public double area(){
        double p=(this.a+this.b+this.c)/2.0;
        double x=Math.sqrt(p*(p-this.a)*(p-this.b)*(p-this.c));
        return x;
    }

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!