2011-01-14 5 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!"); 
     }   
    }      
} 

}

`

это связано класс` // класс недвижимости класс недвижимости общественного { // инициализируются переменные частный адрес строки; частное месторасположение; частный int monthRent; частный внутренний номер 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

+0

Если вы дадите ошибки, мы можем указать на проблему. –

+0

Я получаю ошибки в методах addTenant() и removeTenant(), я не уверен, как добавлять или удалять атрибуты из объекта в списке массивов, – user575234

ответ

2

Класс Property не имеет метод get() определен.

Изменение Property.get(newMonthlyRent).equals( в Property.getMonthlyRent().equals(

Кроме того, кажется, что вы смешиваете Property в одно свойство с ArrayList myProperty который держит список всех свойств

get() метод на ArrayList вернет единый экземпляр объекта, поэтому в вашем методе addTenant() используйте myProperty.get(propertyNo).newTenant(tenantName);


UPDATE

Property.getLocation() возвращает char не String. A char не имеет метода equals().

Изменение Property.getLocation().equals(location) в Property.getLocation() == location

+0

спасибо, так много, я все еще получаю ошибку char не может быть разыменован в конечном методе в выражении if – user575234

+0

@ user575234 updated –

+0

Если это ответ на ваш вопрос, пожалуйста, подумайте о его маркировке. – num1

Смежные вопросы