2301_78255271 2023-11-01 19:18 采纳率: 95.5%
浏览 5
已结题

java练习题 构造方法

1.创建一个圆类,具有成员变量radius(double类型),一个把radius设置为1.0的构造方法,
以及set和 get方法;添加一个方法computer Area(计算圆的面积。在main()方法中声明2
个Circde对象,其中一个半径是默认值1.0,另一个设置为3.分别计算它们的面积并显示
计算结果。
2.编写一个代表员工,具体要求如下
(1)具有属性:姓名(name) 工龄(work year)、工资(salary),其中工龄应该大于0.否
则输出错误信息,并赋子默认值为1;工资应该大于1000.否则输出错误信息,并赋子默认
值1000。
(2)具有方法:display,用来在控制台输出每个员工的姓名、工龄和工资。
(3)具有带参数的构造方法:用来完成对象的初始化工作,并在构造方法中完成对工龄和
工资的最小值限制。
(4)测试该类是否可行。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-02 12:52
    关注

    【以下回答由 GPT 生成】

    问题1解决方案

    class Circle {
        private double radius;
    
        // 构造方法,将radius设为1.0
        public Circle() {
            this.radius = 1.0;
        }
    
        // 设置radius的值
        public void setRadius(double radius) {
            this.radius = radius;
        }
    
        // 获取radius的值
        public double getRadius() {
            return this.radius;
        }
    
        // 计算圆的面积
        public double computeArea() {
            return Math.PI * Math.pow(this.radius, 2);
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            Circle circle1 = new Circle();  // 半径使用默认值1.0
            Circle circle2 = new Circle();  // 半径设置为3.0
    
            circle2.setRadius(3.0);
    
            double area1 = circle1.computeArea();
            double area2 = circle2.computeArea();
    
            System.out.println("Circle 1 area: " + area1);
            System.out.println("Circle 2 area: " + area2);
        }
    }
    

    问题2解决方案

    class Employee {
        private String name;
        private int workYear;
        private int salary;
    
        // 带参数的构造方法,完成对象的初始化工作并限制工龄和工资的最小值
        public Employee(String name, int workYear, int salary) {
            if (workYear > 0) {
                this.workYear = workYear;
            } else {
                System.out.println("工龄应该大于0,将默认设为1");
                this.workYear = 1;
            }
    
            if (salary > 1000) {
                this.salary = salary;
            } else {
                System.out.println("工资应该大于1000,将默认设为1000");
                this.salary = 1000;
            }
    
            this.name = name;
        }
    
        // 在控制台输出员工的姓名、工龄和工资
        public void display() {
            System.out.println("姓名:" + this.name);
            System.out.println("工龄:" + this.workYear);
            System.out.println("工资:" + this.salary);
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            Employee employee1 = new Employee("张三", -1, 8000);  // 测试工龄不合法的情况
            Employee employee2 = new Employee("李四", 5, 2000);
            Employee employee3 = new Employee("王五", 3, 3000);
    
            employee1.display();
            employee2.display();
            employee3.display();
        }
    }
    

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月13日
  • 已采纳回答 11月5日
  • 创建了问题 11月1日