2011-01-14 207 views
-1

所有这一切都编译和运行在bluej,所以没有主要的方法是必需的,我收到很多错误,我是新来的java,所以我不知道如何解决它们。任何帮助将不胜感激。帮助Java错误,

这一个有错误`import java.util。*;

公共类LettingAgent {

private ArrayList<Property>myProperty; 
private int propertyNo; 


public LettingAgent(){ 
    myProperty = new ArrayList<Property>(); 
    propertyNo = 0; 
} 

public void addProperty(String newAddress, char newLocation, int newMonthlyRent, int newNoOfBedrooms){ 
    Property newProperty = new Property(newAddress, newLocation, newMonthlyRent, newNoOfBedrooms); 
    myProperty.add(newProperty); 
} 


public void removeProperty(int propertyNo){ 
    if(propertyNo>myProperty.size() || propertyNo<0){ 
     System.out.println("Invalid Property Number!"); 

    }else{ 
     myProperty.remove(propertyNo); 
     System.out.println("Property Successfully removed.");    
    } 
} 


public void addTenant(int propertyNo, String tenantName){ 
    if(propertyNo>myProperty.size() || propertyNo<0){ 
     System.out.println("Invalid Property Number!");   
    }else{ 
     myProperty.get(propertyNo); 
     //Property.newTenant(tenantName);    
    } 
} 


public void removeTenant(int propertyNo){ 
    if(propertyNo<myProperty.size()){ 
     myProperty.get(propertyNo); 
     //Property.removeTenant(); 
    }else{ 
     System.out.println("Invalid Property Number!"); 
    } 
} 
public void searchProperty(String searchAddress){ 
    int propertyNumber = 0;  
    for(Property Property : myProperty){ 
     myProperty.get(propertyNumber);    
     if (myProperty.get(propertyNo).equals(searchAddress)){ 
      System.out.println("Property Details: "+ Property); 
     } 
     else{ 
      System.out.println("No Such Property."); 
     } 

     if(propertyNumber>myProperty.size()){ 
      System.out.println("No Such Property.");   
     }else{ 
      break; 
     }   

    } 

} 
public void propertyList(Char location, int maxRent, int minBedrooms){ 

    for(Property Property : myProperty){ 
     if((Property.getLocation().equals(location))&& (Property.get(newMonthlyRent).equals(maxRent))&& (myProperty.get(newNoOfBedrooms).equals(minBedrooms))){ 
      System.out.println(propertyNo); 
      Property.displayDetails();        
     }else{ 
      System.out.println("Property Does Not Fit Search Criteria!"); 
     }   
    }      
} 

}

`

这是关联的类`//属性类 公共类物业{// 初始化变量 私人字符串的地址; 私人char位置; private int monthlyRent; private int noOfBedrooms; 私有布尔占用; private String tenantName;

//constructor, to create a new property 
public Property(String newAddress, char newLocation,int newMonthlyRent, int newNoOfBedrooms){ 
    address = newAddress; 
    location = newLocation; 
    monthlyRent = newMonthlyRent; 
    noOfBedrooms = newNoOfBedrooms; 
    occupied = false; 
    tenantName = ""; 
} 

//method to return the address of created property 
public String getAddress(){ 
    return address; 
} 
//method to return the location of created property  
public char getLocation(){ 
    return location; 
} 
//method to return the rent of created property  
public int getMonthlyRent(){ 
    return monthlyRent; 
} 
//method to return the number of bedrooms of created property 
public int getNoOfBedrooms(){ 
    return noOfBedrooms; 
} 
//method to return the occupied status of created property  
public boolean getOccupied(){ 
    return occupied; 
} 
//method to return the name of the tenant of created property  
public String getTenantName(){ 
    return tenantName; 
} 
//method to set a new monthly rent 
public void newRentRate(int newMonthlyRent){ 
    monthlyRent = newMonthlyRent; 
} 
//method to set a new tenant, but only works if current property is empty 
public void newTenant(String newTenant){ 
    if(occupied){ 
     System.out.println(" ERROR! Property is already occupied. "); 
    }else{ 
     tenantName = newTenant; 
     occupied = true;  
    } 

} 
//method used to remove tenant and reset the occupied status to false 
public void removeTenant(){ 
    if(occupied){ 
     tenantName = " "; 
     occupied = false; 
    }else{ 
     System.out.println("ERROR! Property is already empty. "); 
    } 
} 
//method implements a switch statement to switch the char type in to a more understandable string type 
// and also then displays the full property details. 
public void displayDetails(){ 
    String fullLocation; 
    switch(location){ 
     case 'n': case 'N': fullLocation = " North London"; break; 
     case 's': case 'S': fullLocation = " South London"; break; 
     case 'e': case 'E': fullLocation = " East London"; break; 
     case 'w': case 'W': fullLocation = " West London"; break; 
      default: fullLocation = " unknown"; 
    } 

    System.out.println("Address :" + address); 
    System.out.println("Location :" + fullLocation); 
    System.out.println("Monthly Rent : " + monthlyRent); 
    System.out.println("Number of bedrooms : " + noOfBedrooms); 
    System.out.println("Occupied Status : " + occupied); 

    if(occupied){ 
     System.out.println("Tenants Name : " + tenantName); 
    }else{ 
     System.out.println(" "); 
    } 

} 

} `

+0

你介意张贴的错误,你得到?说你得到错误是一个非常广泛的声明。 – jmort253 2011-01-14 06:10:35

+0

如果您提供错误,我们可能会指出问题所在。 – 2011-01-14 06:18:58

回答

2

Property没有一个方法get()限定。

变化Property.get(newMonthlyRent).equals(Property.getMonthlyRent().equals(

而且,看来你是混合Property一个单一属性与持有所有属性

get()方法在ArrayList中的列表ArrayList中myProperty将返回单个Property实例,因此在您的addTenant()方法中,使用myProperty.get(propertyNo).newTenant(tenantName);


UPDATE

Property.getLocation()返回char不是String。 A char没有equals()方法。

变化Property.getLocation().equals(location)Property.getLocation() == location