繁体   English   中英

UML类图实现Address-Addressbook

[英]UML class diagram implementation Address-Addressbook

我有2个类图,类地址

+forename
+surename
+street
+houseno
+code
+state
+toString

第二本通讯录

insert(address: Address)
toString()
searchSurename (surename:  string): Address[*] 
+searchForename(forename: string): Address[*]

我实现了地址:

public class Address {

    public static String forename;
    public static String surename;
    public static String street;
    public static int houseno;
    public static int code;
    public static String state;
    public String toString(){
 return this.forename + this.surename + this.street + this.houseno + this.code + this.state;
            }

如何实现地址簿尽可能简单?

编辑:

public class addressbook{

    private static ArrayList<Address> book;


public addressbook(){
   book = new ArrayList<Address>();
}

}

编辑问题:

我是否可以在实现中在类图中使用的方法或属性之外添加新的方法或属性?

编辑2:

首先尝试使用ArrayList实现方法searchSurename:

public static String searchSurename(String surename){
     boolean exist = false;

     if(this.addresses.isEmpty()){
         return null;
     }

     for(int i=0;i<this.addresses.size();i++) {
         if(this.addresses.get(i).getSurename() == surename) {
             exist=true;
             break;
         }

         if(exist) {
             return this.addresses.get(surename);
         } else {
             return this.addresses.get(surename);
         }
     }
 // return ?!?

}

该程序在任何行都给我“此”处的错误,也许是一个错误,但我无法告知! 看起来有点太难了,我找不到在列表中搜索简单的任何实现。

您可以以这种方式实现它。 查看arrayList的api以使用其方法。

public class Adressbook {

    List<Adress> adresses = new ArrayList<Adress>();

    public Adressbook(){
        adresses = new arraylist<Adress>();
    }

    public insert (Adress adress){
        adresses.add(adress)
    }

    public searchSurename(String Surename){
    }

    public searchForename(String forename){
    }

    public String toString(){
    }

ArrayList api: http : //docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

要具有唯一的地址,请使用集合收集界面

public class Adressbook {
    ....
    private Set<Adress> adresses = null;
    public Adressbook(){
        adresses = new HashSet<Adress>();
    }
    public void add(Adress adress){
        adresses.add(adress)
    }
    ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM