屏幕输入三个整数,判断三角形

这篇博客分享了作者初学JAVA时,利用类和对象实现判断一组给定的三条边是否能构成三角形的方法。欢迎交流优化建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里介绍的方法,是我本人刚接触JAVA,学习到类和对象时编写,有考虑不周的地方还望谅解,如果有更好的方法欢迎留言,谢谢。我的代码如下:

import java.util.Arrays;
import java.util.Scanner;

public class IsTriangle {

    // 判断能否构成三角形
    public boolean isTriangle(int a, int b, int c) {
        boolean flag = false;
        if (a + b > c && b + c > a && a + c > b) {
            System.out.println(a + "  " + b + "  " + c + "可以构成三角形!");
            flag = true;
        } else {
            System.out.println("不能构成三角形!!!");
        }
        return flag;
    }

    // 判断什么三角形
    public String shape(int a, int b, int c) {
        // 调用判断是否是三角形的方法
        boolean flag = isTriangle(a, b, c);
        String shape = null;
        // 创建存放三个边的数组bian
        int[] bian = new int[3];
        bian[0] = a;
        bian[1] = b;
        bian[2] = c;
        // 如果构成三角形为true,对数组进行升序排序,判断最大边与其余两边的关系
        if (flag) {
            Arrays.sort(bian);
            if (bian[2] * bian[2] > (bian[0] * bian[0] + bian[1] * bian[1])) {
                shape = bian[0] + ", " + bian[1] + ", " + bian[2]
                        + ",这是一个钝角三角形";
            } else if (bian[2] * bian[2] == (bian[0] * bian[0] + bian[1]
                    * bian[1])) {
                shape = bian[0] + ", " + bian[1] + ", " + bian[2]
                        + ",这是一个直角三角形";
            } else if (bian[0] == bian[1] && bian[1] == bian[2]) {
                shape = bian[0] + ", " + bian[1] + ", " + bian[2]
                        + ",这是一个等边三角形";
            } else if (bian[2] * bian[2] < (bian[0] * bian[0] + bian[1]
                    * bian[1])) {
                shape = bian[0] + ", " + bian[1] + ", " + bian[2]
                        + ",这是一个锐角三角形";
            }
        }
        return shape;
    }

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String answer = null;
        // 三角形的三个边
        int a;
        int b;
        int c;
        do {
            System.out.print("请输入第一条边(正整数):");
            a = input.nextInt();
            System.out.print("请输入第二条边(正整数):");
            b = input.nextInt();
            System.out.print("请输入第三条边(正整数):");
            c = input.nextInt();
            // 创建类的一个对象x
            IsTriangle x = new IsTriangle();
            String shape = x.shape(a, b, c);
            System.out.println(shape + ",是否继续?y/n");
            answer = input.next();
        } while ("y".equals(answer.toLowerCase()));
        System.out.println("结束查询!");
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值