无法让我的方法返回任何内容

时间:2018-02-20 00:27:39

标签: java

所以,这是一个我存储来自另一个名为(Name)的类的数据的类 类(Name)有3个信息。名称(字符串)/编号列表/地址列表我使用最后2作为列表,因此我可以允许多个地址/数字

现在问题是,我无法使用此代码中的getContact工作,它没有返回任何内容,所以我认为我搞砸了某个地方,检查了一切,事情是正确的,所以我绕过toString并打印出Namebook类型的对象是我的主要方法,它工作得很好。

public class Namebook {
   private ArrayList<Name> contact;
   private Name ctc;
   public Namebook(){
   contact = new ArrayList<Name>();
   }

   public void addContact(Name name){
        this.contact.add(name);
    }

   public String getContact(){
       return String.valueOf(this.contact);
   }

    @Override
    public String toString() {
        return String.valueOf(this.contact);
    }
}

班级(姓名)

public class Name {
private String name;
private List<String> number;
private List<String> Adress;

public Name(String name){
  this.name = name;

 }

 public void addNumber(List<String> num){
 this.number = num;

 }

 public void addAdress(List<String> adress){
   this.Adress = adress;

 }

 public List<String> getNumber(){
   return this.number;
 }

 public List<String> getAdress(){
    return this.Adress;
 }
 public String toString() {
    return this.name + " " + getNumber() + " " + getAdress() ;
 }


 }

主要

public class Main {
Scanner reader = new Scanner(System.in);
public static void main(String[] args) throws Exception {
   Name person = new Name("sacha");
   ArrayList<String> add = new ArrayList<String>();
    ArrayList<String> num = new ArrayList<String>();
    add.add("chicago");
    num.add("13213223");
    person.addNumber(num);
    person.addAdress(add);
    //System.out.println(person);
    Namebook p1 = new Namebook();
    p1.addContact(person);
    p1.getContact();

}

}

1 个答案:

答案 0 :(得分:1)

您的toStringgetContact方法相同,行为相同。

案例1:

System.out.println(person);

这是

的缩写
System.out.println(person.toString());

案例2:

p1.getContact();

这不是什么短暂的事。但请注意,您没有System.out.println声明。这就是 print s 方法的输出。没有它,没有任何印刷品。解决它

System.out.println(p1.getContact());