2011-01-14 190 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