java输出长方形面积和周长_用JAVA编程求长方形和三角形的面积和周长

该JAVA程序能够计算等腰、等边、直角和平常三角形的周长和面积。用户输入三角形的三边长度,程序会判断三角形类型并输出其周长和面积。
摘要由CSDN通过智能技术生成

展开全部

package demo;

import java.util.Scanner;

public class Triangle

{

/**

* 等腰

*/

public static final int ISOSCELES = 1;

/**

* 等边

*/

public static final int EQUILATERAL = 2;

/**

* 直角32313133353236313431303231363533e78988e69d8331333335343938

*/

public static final int RIGHTANGLE = 4;

/**

* 普通

*/

public static final int GENERAL = 6;

/**

* 不构成三角形

*/

public static final int NOTHING = 7;

double a;

double b;

double c;

public Triangle ( double a, double b, double c )

{

this.a = a;

this.b = b;

this.c = c;

}

public static int isWhichOne ( Triangle triangle )

{

double a = triangle.a;

double b = triangle.b;

double c = triangle.c;

if (a + b > c && a + c > b && b + c > a && Math.abs (a - b) 

{

if (a == b && a == c)

{

return Triangle.EQUILATERAL | Triangle.ISOSCELES;

}

else if (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)

{

return Triangle.RIGHTANGLE | Triangle.ISOSCELES;

}

return Triangle.RIGHTANGLE;

}

else if (a == b || a == c || b == c)

{

return Triangle.ISOSCELES;

}

else

{

return Triangle.GENERAL;

}

}

else

{

return Triangle.NOTHING;

}

}

public static double perimeter ( Triangle triangle )

{

return triangle.a + triangle.b + triangle.c;

}

public static double area ( Triangle triangle )

{

double a = triangle.a;

double b = triangle.b;

double c = triangle.c;

return 1.d / 4 * Math.sqrt (( a + b + c ) * ( a + b - c ) * ( a + c - b ) * ( b + c - a ));

}

public static void translate ( Triangle triangle )

{

int type = isWhichOne (triangle);

switch (type)

{

case Triangle.ISOSCELES:

System.out.println ("等腰三角形");

break;

case ( Triangle.EQUILATERAL | Triangle.ISOSCELES ):

System.out.println ("等边三角形 + 等腰三角形");

break;

case Triangle.GENERAL:

System.out.println ("普通三角形");

break;

case ( Triangle.RIGHTANGLE | Triangle.ISOSCELES ):

System.out.println ("直角三角形 + 等腰三角形");

break;

case Triangle.RIGHTANGLE:

System.out.println ("直角三角形");

break;

default:

System.out.println ("不构成三角形");

break;

}

if (type != Triangle.NOTHING)

{

System.out.println ("周长是:" + perimeter (triangle));

System.out.println ("面积是:" + area (triangle));

}

}

public static void main ( String[] args )

{

System.out.println ("输入构成三角形的三边长:(空格隔开)\n退出按 (n/N), 否则继续: ");

String error = "输入有误,请重新输入: ";

String reg = "^\\d+\\s+\\d+\\s+\\d+$";

Scanner scanner = new Scanner (System.in);

while (scanner.hasNextLine ())

{

String line = scanner.nextLine ().trim ();

if ("n".equalsIgnoreCase (line))

{

break;

}

if (!line.matches (reg))

{

System.err.println (error);

}

else

{

try

{

String[] input = line.split ("\\s+");

int a = Integer.parseInt (input[0]);

int b = Integer.parseInt (input[1]);

int c = Integer.parseInt (input[2]);

Triangle triangle = new Triangle (a, b, c);

translate (triangle);

}

catch (NumberFormatException e)

{

System.err.println (error);

}

System.out.println ("退出按 (n/N), 否则继续: ");

}

}

scanner.close ();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值