现在开始学习吧 2023-04-22 18:31 采纳率: 31.8%
浏览 38
已结题

uml图相关代码改错

定义下面的 UML 图

img


使用正确代码的粗体字更正类实现中的 4 个语法和/或逻辑错误 。

interface Account {

    private int bsb;

    private int number;

    private String name;

    private String dob;

    private String address;

    

    public Account(int bsb, int number, String name, String dob, String addr) {

        bsb = bsb;

        this.number = number;

        this.name = name;

        this.dob = dob;

        address = addr;

    }

    

    public String toString() {

        return "" + bsb + ", " + number + ", " + name + ", " + dob + ", " + address;

    }

    

    public abstract double calculateInterest();

}



class EasyAccess implements Account {

    private double balance;

    private static double interestRate;

    

    public EasyAccess(int bsb, int number, String name, String dob, String addr, double bal) {

        balance = bal;

        

        super(bsb, number, name, dob, addr);

    }

    

    public static void setRate(double rate) {

        interestRate = rate;

    }

    

    public String toString() {

        return super.toString() + ", " + balance + ", " + interestRate;

    }

    

    public double calculateInterest() {

        return balance * interestRate / 12;

    }

}
  • 写回答

2条回答 默认 最新

  • Zyb0627 2023-04-22 18:37
    关注

    引用chatGPT作答,以下是更正后的 UML 图和类实现代码:

    UML 图:

                  +------------------+
                  |     Account      |
                  +------------------+
                  | - bsb: int       |
                  | - number: int    |
                  | - name: String   |
                  | - dob: String    |
                  | - address: String|
                  +------------------+
                  | + Account(bsb: int, number: int, name: String, dob: String, address: String)|
                  | + toString(): String                                            |
                  | {abstract} + calculateInterest(): double                      |
                  +------------------+                   
     
                              ^
                              |
                              |
     
                  +------------------+
                  |    EasyAccess    |
                  +------------------+
                  | - balance: double|
                  | + interestRate: double |
                  +------------------+
                  | + EasyAccess(bsb: int, number: int, name: String, dob: String, address: String, balance: double)|
                  | {static} + setRate(rate: double): void                      |
                  | + toString(): String                                            |
                  | + calculateInterest(): double                      |
                  +------------------+
    

    更正后的类实现代码:

    interface Account {
     
        public abstract double calculateInterest();
     
        public String toString();
     
    }
     
     
    class EasyAccess implements Account {
     
        private int bsb;
     
        private int number;
     
        private String name;
     
        private String dob;
     
        private String address;
     
        private double balance;
     
        private static double interestRate;
     
        public EasyAccess(int bsb, int number, String name, String dob, String address, double balance) {
     
            this.bsb = bsb;
     
            this.number = number;
     
            this.name = name;
     
            this.dob = dob;
     
            this.address = address;
     
            this.balance = balance;
     
        }
     
        public static void setRate(double rate) {
     
            interestRate = rate;
     
        }
     
        public String toString() {
     
            return "" + bsb + ", " + number + ", " + name + ", " + dob + ", " + address + ", " + balance + ", " + interestRate;
     
        }
     
        public double calculateInterest() {
     
            return balance * interestRate / 12;
     
        }
     
    }
    

    更正后的类实现中共有以下 4 处错误:

    1.接口 Account 中的实例变量应该是公共的,而不是私有的。因此,需要将 private 关键字从 bsb、number、name、dob 和 address 移除。
    2.类 Account 中的构造函数中的 bsb 赋值不正确。应该使用 this.bsb = bsb。
    3.类 EasyAccess 中的 super 关键字不应该出现在构造函数中。因为 Account 是一个接口,而不是一个类。应该将其删除。
    4.类 EasyAccess 中的 toString() 方法中应该调用 super.toString(),而不是 super()。应该将其更正为 super.toString()。

    评论

报告相同问题?

问题事件

  • 系统已结题 4月30日
  • 创建了问题 4月22日

悬赏问题

  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图