实验室14的编辑

时间:2014-01-08 03:58:42

标签: methods constructor

我知道我已经问过实验14,但从那以后我编辑了很多代码。我觉得它好多了,但我认为还有一些问题。这是安装人员吗?我查看了另一个说我正在取得进展的论坛,但是当他们回到我身边时,我需要有人帮助编辑我的语法。如果我做错了就是我的二传手,我会没事的,但请告诉我。

我真的非常想让这个程序正常工作,这样我就能继续前进,因为我在课堂上落后了。是的,这是Java。

这是我的代码:

public class StreetAddress

{
    public String street;

    public String city;

    public String state;

    public String zip;



   public StreetAddress(String findStreet, String findCity,String findState,String findZIP) {
       street = findStreet;

       city = findCity;

       state = findState;

       zip = findZIP;
  }


  public String getStreet() {
      return street;
  }

  public void makeStreet(String street) {
      this.street = street;
  }



  public String getcity() {
      return city;
  }



  public void makeCity(String city) {
      this.city = city;
  }

  public String getState() {
     return state;
  }



  public void makeState(String state) {
      this.state = state;
 }

public String getZip() {

    return zip;


public void makeZip(String zip) {
      this.zip = zip;
}



}

}

}

感谢。

2 个答案:

答案 0 :(得分:0)

你最后有三个结束括号!它应该只有一个,你忘了为getZip方法编写右括号。您的代码的另一个问题是您已经定义了实例变量public,当您为它们实现访问器时,它们没有任何意义。因此,您最好将它们设为私有,这样您也可以遵循OOP的封装主题。命名的另一个问题是你的setters的命名约定。在Java编程中,您将getter命名为get[InstanceVatiableName],即getStreet,并将您的setter命名为:set[InstanceVariableName],即:setStreet,这是一个常见的约定。

我已在下面更正了您提到的代码问题:

public class StreetAddress
{
    private String street;
    private String city;
    private String state;
    private String zip;

    public StreetAddress(String findStreet, String findCity, String findState, String findZIP) {
        street = findStreet;
        city = findCity;
        state = findState;
        zip = findZIP;
    }

    public String getStreet() {
        return street;
    }

    public void setStreet(String street) {
        this.street = street;
    }

    public String getcity() {
        return city;
    } 

    public void setCity(String city) {
        this.city = city;
    }

    public String getState() {
       return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getZip() {
        return zip;
    }

    public void setZip(String zip) {
        this.zip = zip;
    }
}

答案 1 :(得分:0)

你可以用两种方式中的任何一种来做。

  1. 使用参数化构造函数

    class StreetAddress
    
    {
    public String street;
    public String city;
    public String state;
    public String zip;
    public StreetAddress(String findStreet, String findCity,String findState,String findZIP){
        street = findStreet;
        city = findCity;
        state = findState;
        zip = findZIP;
    }
    
    public String getStreet() {
     return street;
    }
    
    public String getcity() {
      return city;
    }
     public String getState(){
     return state;
     }
    
     public String getZip() {
      return zip;
      }
    
    }
    

    并在调用StreetAddress对象期间从main函数传递值。

  2. 使用默认构造函数

    class StreetAddress
    
    {
    public String street;
    public String city;
    public String state;
    public String zip;
    
    
    public String getStreet() {
       return street;
    }
    
    public void makeStreet(String street){
        this.street = street;
    }
    
    public String getcity() {
     return city;
    }
    public void makeCity(String city){
      this.city = city;
    }
    public String getState(){
     return state;
    }
    
    public void makeState(String state){
      this.state = state;
    }
    public String getZip() {
      return zip;
    }
    
    
    }
    
  3. 并通过调用函数makeZip(anyString);

    直接传递值