青亭浅 2023-03-25 17:37 采纳率: 88.2%
浏览 25
已结题

关于#代码#的问题,如何解决?


import java.util.Scanner;

interface Shape {
    public double length();
}

class Triangle implements Shape {
    double a, b, c;

    public Triangle(double a, double b, double c) {
        this.a = a;
        this.b = b;
        this.c = c;
    }

    public double length() {
        if ((a > 0 && b > 0 && c > 0) && (a + b > c || a + c > b || b + c > a))
            return a + b + c;
        else
            return 0;
    }
}

class Rectangle implements Shape {
    double a, b;

    public Rectangle(double a, double b) {
        this.a = a;
        this.b = b;
    }

    public double length() {
        if (a > 0 && b > 0)
            return 2 * (a + b);
        else
            return 0;
    }
}

class Circle implements Shape {
    double r;

    public Circle(double r) {
        this.r = r;
    }

    public double length() {
        if (r > 0)
            return 2 * 3.14 * r;
        else
            return 0;
    }
}

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner reader = new Scanner(System.in);
        String str;
        int n, m, t;
        while (reader.hasNext()) {
            str = reader.nextLine();
            String s[] = str.split(" ");
            if (s.length == 1) {
                n = Integer.parseInt(s[0]);
                Circle circle = new Circle(n);
                System.out.printf("%.2f\n", circle.length());
            } else if (s.length == 2) {
                n = Integer.parseInt(s[0]);
                m = Integer.parseInt(s[1]);
                Rectangle rectangle = new Rectangle(n, m);
                System.out.printf("%.2f\n", rectangle.length());
            } else if (s.length == 3) {
                n = Integer.parseInt(s[0]);
                m = Integer.parseInt(s[1]);
                t = Integer.parseInt(s[2]);
                Triangle triangle = new Triangle(n, m, t);
                System.out.printf("%.2f\n", triangle.length());

            }
        }
    }

}

img

img

img

这个代码哪里出问题了

  • 写回答

2条回答 默认 最新

  • pzzhao 2023-03-25 19:01
    关注

    是不是测试类名不对,题目要求的是ShapeTest。
    另外题目也没明确不能构成三角形的时候是否应该输出周长

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月29日
  • 已采纳回答 5月21日
  • 修改了问题 3月25日
  • 创建了问题 3月25日

悬赏问题

  • ¥15 uniapp的h5项目写一个抽奖动画
  • ¥15 TeleScan不能修改bar
  • ¥100 请问我基于逐飞库写的这个有关于mp u6050传感器的函数,为什么输出的值是固定的?
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别
  • ¥15 使用Ant Design Pro vue的时候,使用环境变量的时候,构建报错是什么原因
  • ¥15 NRF24L01能发送但是不能接收