java三角形面积
楼主sanjiaoxing这个类里面的Trianglele类没有被执行到,可以把Trianglele类里面的内容写在sanjiaoxing这个类的构造方法里,这样就在NEW这个sanjiaoxing类时初始化三个点,不过这样就定死了..如果想要手动传参的话,可以另外定一个方法来实现初始化,然后在main方法里面调用一下.把调试好的代码给你贴下,希望可以帮到你...
package cd.itcast.test;
import java.lang.Math;
class Point {
public int x, y;
public Point(int a, int b) {
x = a;
y = b;
}
}
public class sanjiaoxing {
/**
* @param args
*/
double sa, sb, sc;
public sanjiaoxing() {
Point A = new Point(0, 0);
Point B = new Point(3, 0);
Point C = new Point(0, 4);
sa = Math.hypot((A.x - B.x), (A.y - B.y));
sb = Math.hypot((B.x - C.x), (B.y - C.y));
sc = Math.hypot((C.x - A.x), (C.y - A.y));
System.out.println(sa+sb+sc);
}
double zhouchang() {
return sa + sb + sc;
}
double getArea() {
double b, c;
b = (sa * sa + sb * sb - sc * sc) / (2 * sa * sc);
c = sa * sc * (Math.sqrt(1 - b * b)) / 2;
return c;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
sanjiaoxing your = new sanjiaoxing();
System.out.println("zhouchang " + your.zhouchang());
System.out.println("mianji " + your.getArea());
}
}
2. java求三角形面积
importjava.math.BigDecimal;
publicclassTriangle{
inta,b,c;//三条边
doubleS;//面积
booleanisTri=true;
Triangle(){
a=3;b=4;c=5;
}
Triangle(intbian){
a=b=c=bian;
}
Triangle(intbian1,intbian2,intbian3){
if(bian1+bian2>bian3&&bian1+bian3>bian2&&bian2+bian3>bian1){
a=bian1;b=bian2;c=bian3;
}else{
isTri=false;
System.out.print("不是三角形");
}
}
privatedoublegetS(){
if(isTri){
ints=(a+b+c)/2;
doubless=Math.sqrt(s*(s-a)*(s-b)*(s-c));
BigDecimalb=newBigDecimal(ss);
returnb.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
}
return0;
}
publicstaticvoidmain(String[]aa){
System.out.println(newTriangle().getS());
System.out.println(newTriangle(5).getS());
System.out.println(newTriangle(5,8,6).getS());
System.out.println(newTriangle(2,9,6).getS());
}
}
3. 用 java求三角形面积
代码如下,主要知识点三角形面积公式:p=(a+b+c)/2,s^2=p*(p-a)*(p-b)*(p-c)
JDK中的开方方法:Math.sqrt()
public class Demo {
public static void main(String[] args) {
double a=3;
double b=4;
double c=5;
double p=(a+b+c)/2;
System.out.println(Math.sqrt(p*(p-a)*(p-b)*(p-c)));
}
}
4. 如何用java计算三角形、矩形、圆的面积
//图形类作父类
public class Diagram {
//计算面积
public double area(){return 0;}
}
//圆类:继承图形类
public class Crile extends Diagram{
private double r;
public Crile(double r){
this.r=r;
}
//重写area方法
public double area(){
double r=this.r;
return r*r*3.14;
}
}
//三角形类:继承图形类
public class Triangle extends Diagram{
private double high; //三角形的高
private double bottom; //三角形的底
public Triangle(double h,double b){
this.high=h;
this.bottom=b;
}
public double area(){
double h=this.high;
double b=this.bottom;
return h*b/2;
}
}
//测试
public class test {
public static void main(String[] args) {
System.out.println("请选择图形的类型:(1)三角形(2)圆");
Scanner scanner=new Scanner(System.in);
int i=scanner.nextInt();
if(i==1){
System.out.println("你选择的是三角形!请输入三角形高长(回车结束):");
double high=scanner.nextLong();
System.out.println("请输入三角形底长(回车结束):");
double bottom=scanner.nextLong();
//这里体现动态,如果选择的图形是三角形,那么创建三角形类
//调用的时候就是调用的三角形的方法
Diagram diagram=new Triangle(high, bottom);
System.out.println("三角形的面积为:"+diagram.area());
}
if(i==2){
System.out.println("你选择的是圆形!请输入圆的半径(回车结束):");
double r=scanner.nextLong();
Diagram diagram=new Crile(r);
System.out.println("三角形的面积为:"+diagram.area());
}
}
}
其他的一样了,纯手工 望采纳!
5. java,计算三角形面积
java.util.Scanner sc = new java.util.Scanner(System.in);
System.out.print("请输入第1条边长度:");
int a=sc.nextInt();
System.out.print("请输入第2条边长度:");
int b=sc.nextInt();
System.out.print("请输入第3条边长度:");
int c=sc.nextInt();
double m = ((double)(a+b+c))/2;
double s = Math.sqrt(m*(m-a) * (m-b) * (m-c) );
System.out.println("面积是:"+s);
//注意:输入的三边的长度,要合理。否则结果是错的。
6. java计算三角形面积
classTrival
{
privatedoubleside;//三角形的边
privatedoubleh;//三角形的高
Trival(){}//无参构造方法
Trival(doubleside,doubleh){//有参构造方法
this.side=side;
this.h=h;
}
publicdoublefindArea(){//获取面积公式
returnside*h*0.5;
}
publicvoidsetSide(doubleside)
{
this.side=side;
}
publicdoublegetSide()
{
returnside;
}
publicvoidsetH(doubleh)
{
this.h=h;
}
publicdoublegetH()
{
returnh;
}
}
7. java中计算任意三角形面积。
publicvoidtest1(){
//利用海伦公式计算任意三角形面积
doublea,b,c;//a,b,c为三角形的三边
doublep;//p为三角形adc边长的一半
doubles;//最终的面积
Scannerinput=newScanner(System.in);
a=input.nextDouble();
b=input.nextDouble();
c=input.nextDouble();
p=(a+b+c)/2;
s=p*(p-a)*(p-b)*(p-c);
s=Math.sqrt(s);
System.out.println("面积="+s);
}
8. java编程中求三角形面积怎么写
java编程求三角形面积,首先判断用户输入的三条边是否符合规则,然后再使用函数sqrt来求面积,如下:
if(a+b>c){
if(b+c>a){
if(c+a>b){
System.out.println("能够构成三角形");
doublearea=Math.sqrt(p*(p-a)*(p-b)*(p-c));
System.out.println("面积为:"+area);
}else{
System.out.println("不能够构成三角形");
}
}else{
System.out.println("不能够构成三角形");
}
}else{
System.out.println("不能够构成三角形");
}
9. 用java编写程序求三角形的面积
编写程序如下:
import java.util.Arrays;
import java.util.Scanner;
public class ssss {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("输入三条边的值:");
double a = sc.nextDouble();
double b = sc.nextDouble();
double c = sc.nextDouble();
if(a+b>c && a+c>b && b+c>a){
double p = (a+b+c)/2;
double area = Math.sqrt(p*(p-a)*(p-b)*(p-c));
System.out.println("此三角形面积为:"+area);
}else{
System.out.println("此三边不能构成三角形");
}
}
}
(9)java三角形面积扩展阅读
Java初学者:初学者的注意事项
1,java是大小心敏感的,就是说,大写字母和小写字母,在java里不可能被看成同样的东西。比如,System.out.println(“I am student”); 这运行起来完全没问题,但是如果你写成了system.out.println("I am student");
就绝对运行不了,同样的,你写了个int n; 还写了一个int N; 那这两个变量,就是不同的变量。java的关键字,一般来说,你是不能更改的,而你自己定义的变量名,大写小写,也会被java视为不同的东西。
2,写的程序要格式清晰规范,可读性好,首行要缩进,成对的花括号,除了类的括号以外,最后都要处于同一列。这并不是强制的,每个人的习惯也不同,但是至少要 清晰规范。
其实只从是否能运行来说,这是没关系的,java并不在乎你的程序代码看着乱不乱,只要对,就能编译运行,这与python强制程序员规范其代码格式不 同。
3,定义的数据名起码要正确,符合命名规则,其次要有意义。列举几个例子,常见的数据声明初始化:String name = "jianbo shi"; int age = 30; double mark = 70.5; 以上是正确的。
下面看几个错误的: String my name = "john mark"; 错误原因在于,my name 之间有个空格,如果你非要弄的好像中间有个空格,你可以这样String my_name = "john mark"; 有很多人,就喜欢这么用。
int 年龄 = 30; 错误原因在于,年龄两个字,不是英文,也许在中国人的电脑里,java不会报错甚至可以编译通过,但是运行的话就不行了,总之,除了要显示的信息外,代码部分不要用中文。double 200mark =70.5; 错误的原因在于,200mark的首字符是数字。
10. Java 编程求三角形面积
packagedemo;
importjava.util.Scanner;
publicclassTriangle
{
/**
*等腰
*/
publicstaticfinalintISOSCELES=1;
/**
*等边
*/
=2;
/**
*直角
*/
=4;
/**
*普通
*/
publicstaticfinalintGENERAL=6;
/**
*不构成三角形
*/
publicstaticfinalintNOTHING=7;
doublea;
doubleb;
doublec;
publicTriangle(doublea,doubleb,doublec)
{
this.a=a;
this.b=b;
this.c=c;
}
publicstaticintisWhichOne(Triangletriangle)
{
doublea=triangle.a;
doubleb=triangle.b;
doublec=triangle.c;
if(a+b>c&&a+c>b&&b+c>a&&Math.abs(a-b)<c&&Math.abs(a-c)<b&&Math.abs(b-c)<a)
{
if(a==b&&a==c)
{
returnTriangle.EQUILATERAL|Triangle.ISOSCELES;
}
elseif(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)
{
if(a==b||a==c||b==c)
{
returnTriangle.RIGHTANGLE|Triangle.ISOSCELES;
}
returnTriangle.RIGHTANGLE;
}
elseif(a==b||a==c||b==c)
{
returnTriangle.ISOSCELES;
}
else
{
returnTriangle.GENERAL;
}
}
else
{
returnTriangle.NOTHING;
}
}
publicstaticdoubleperimeter(Triangletriangle)
{
returntriangle.a+triangle.b+triangle.c;
}
publicstaticdoublearea(Triangletriangle)
{
doublea=triangle.a;
doubleb=triangle.b;
doublec=triangle.c;
return1.d/4*Math.sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a));
}
publicstaticvoidtranslate(Triangletriangle)
{
inttype=isWhichOne(triangle);
switch(type)
{
caseTriangle.ISOSCELES:
System.out.println("等腰三角形");
break;
case(Triangle.EQUILATERAL|Triangle.ISOSCELES):
System.out.println("等边三角形+等腰三角形");
break;
caseTriangle.GENERAL:
System.out.println("普通三角形");
break;
case(Triangle.RIGHTANGLE|Triangle.ISOSCELES):
System.out.println("直角三角形+等腰三角形");
break;
caseTriangle.RIGHTANGLE:
System.out.println("直角三角形");
break;
default:
System.out.println("不构成三角形");
break;
}
if(type!=Triangle.NOTHING)
{
System.out.println("周长是:"+perimeter(triangle));
System.out.println("面积是:"+area(triangle));
}
}
publicstaticvoidmain(String[]args)
{
System.out.println("输入构成三角形的三边长:(空格隔开) 退出按(n/N),否则继续:");
Stringerror="输入有误,请重新输入:";
Stringreg="^\d+\s+\d+\s+\d+$";
Scannerscanner=newScanner(System.in);
while(scanner.hasNextLine())
{
Stringline=scanner.nextLine().trim();
if("n".equalsIgnoreCase(line))
{
break;
}
if(!line.matches(reg))
{
System.err.println(error);
}
else
{
try
{
String[]input=line.split("\s+");
inta=Integer.parseInt(input[0]);
intb=Integer.parseInt(input[1]);
intc=Integer.parseInt(input[2]);
Triangletriangle=newTriangle(a,b,c);
translate(triangle);
}
catch(NumberFormatExceptione)
{
System.err.println(error);
}
System.out.println("退出按(n/N),否则继续:");
}
}
scanner.close();
}
}