(Java)判断三角形的形状
下面的代码不知哪里错了,无论输入什么数,结果都是“不能构成三角形”
import java.util.Scanner;
/**
* 判断是否构成三角形,构成何种三角形
*/
class Judge {
\x05public boolean isTriangle(int a,int b,int c) {
\x05\x05boolean flag = false;
\x05\x05if ((a + b > c) && (a + c > b) && (b + c > a)) {
\x05\x05\x05flag = true;
\x05\x05}
\x05\x05return flag;
\x05}
\x05public String shape(int a,int b,int c) {
\x05\x05String shape = "";
\x05\x05if (a == b && b == c) {
\x05\x05\x05shape = "这是一个等边三角形";
\x05\x05} else if ((a * a + b * b == c * c) || (a * a + c * c == b * b)
\x05\x05\x05\x05|| (c * c + b * b == a * a)) {
\x05\x05\x05shape = "这是一个直角三角形";
\x05\x05} else if ((a * a > b * b + c * c) || (b * b > c * c + a * a)
\x05\x05\x05\x05|| (c * c > b * b + a * a)) {
\x05\x05\x05shape = "这是一个钝角三角形";
\x05\x05} else {
\x05\x05\x05shape = "这是一个锐角三角形";
\x05\x05}
\x05\x05return shape;
\x05}
}
public class Shape {
\x05public static void main(String[] args) {
\x05\x05Scanner input = new Scanner(System.in);
\x05\x05String d = "y";
\x05\x05while ("y".equals(d)) {
\x05\x05\x05System.out.print("请输入第一边:");
\x05\x05\x05int a = input.nextInt();
\x05\x05\x05System.out.print("请输入第二边:");
\x05\x05\x05int b = input.nextInt();
\x05\x05\x05System.out.print("请输入第三边:");
\x05\x05\x05int c = input.nextInt();
\x05\x05\x05Judge show = new Judge();
\x05\x05\x05if ("true".equals(show.isTriangle(a,b,c))) {
\x05\x05\x05\x05show.shape(a,b,c);
\x05\x05\x05} else {
\x05\x05\x05\x05System.out.println("这不能构成三角形");
\x05\x05\x05}
\x05\x05\x05System.out.print("继续吗?(y/n):");
\x05\x05\x05d = input.next();
\x05\x05}
\x05\x05System.out.println("谢谢使用!");
\x05}
}
作业帮用户2017-09-25举报