2016-02-20 1 views
-8

Мне было предложено написать комментарии для кода, но я не понимаю, что именно делает строка setEmployeeNumber (num). Почему это не написано setEmployeeNumber = number вместо? И все мои другие комментарии? спасибо заранее /** Сотрудник класса */может кто-нибудь объяснить, что означает эта часть кода? setEmployeeNumber (num)

 public class Employee//creating employee class 
    {//declaring fields 
private String name;    
private String employeeNumber; 
private String hireDate;   


public Employee(String n, String num, String date)//construtor for Employee class with param n,num,date 
    { 
    name = n; //assigning value of n to name 
    setEmployeeNumber(num);//set employee 
    hireDate = date;//assign value of date to hireDate 
    } 

    public Employee()//non parametrized constructor 
    { 
    name = "";//set name to empty string 
    employeeNumber = "";//set employeeNumber to empty string 
    hireDate = "";//set hireDate to empty string 
    } 


    public void setName(String n)//setter with param n 
    { 
    name = n;//assign value of n to name 
    } 


    public void setEmployeeNumber(String e)//setter with param e 
    { 
    if (isValidEmpNum(e))//if string e is a valid employee number store the value of e in employee number else set employee number to empty string 
    employeeNumber = e; 
    else 
    employeeNumber = ""; 
    } 


    public void setHireDate(String h)//setter with param h 
    { 
     hireDate = h;//assign the string h to hireDate 
    } 

     public String getName()//getter 
    { 
    return name;//return value of name 
    } 


    public String getEmployeeNumber()//getter 
    { 
     return employeeNumber;//return value of employeeNumber 
     } 


    public String getHireDate()//getter 
    { 
     return hireDate;//return value of hireDate 
    } 

    private boolean isValidEmpNum(String e)//method to return true or false if employee number is valid or invalid 
    { 
     boolean status = true;//setting default status to True 

    if (e.length() != 5)//if the length of string e does not equal to 5 then employee number is invalid,set status to false 
    status = false; 
    else 
    { 
    if ((!Character.isDigit(e.charAt(0))) ||//if the first char in string e is not a digit OR the 2nd char isnt a digit of the 3rd char is not a digit or the 4th char is not a dash OR the 5th char is not a letter than employee number is invalid,set status to false 
     (!Character.isDigit(e.charAt(1))) || 
     (!Character.isDigit(e.charAt(2))) || 
     (e.charAt(3) != '-')    || 
     (!Character.isLetter(e.charAt(4)))) 
      status = false; 
    } 

    return status;//returing true or false 

}

public String toString()//Method to returns a string representation of the object 
    { 
    String str = "Name: " + name + "\nEmployee Number: ";//making a new string called str 

    if (employeeNumber == "")//if employeeNuber is invalid 
    str += "INVALID EMPLOYEE NUMBER";//add "INVALID EMPLOYEE NUMBER" to string str 
    else 
    str += employeeNumber;//add value of employeeNumber to string str 

    str += ("\nHire Date: " + hireDate);//add "\nHire Date: " and value of hireDate to string str 
    return str;//returning the string str 
    } 
    } 
+3

Вы не разместили код 'setEmployeeNumber' ... Но, судя по имени, он, вероятно, присваивает' num' переменной 'employeeNumber'. – Tunaki

+0

«Создание класса сотрудника» неверно. Это ** объявление ** сотрудника класса –

+0

в качестве побочного примечания - вы закончили комментирование. помещая комментарий как «присвоение значения n для имени» строке, которая говорит «name = n;», полностью избыточна. Ваши комментарии не должны объяснять, как работает Java, они должны объяснить логику кода –

ответ

0

Вы вызываете метод. Комментарий должен действительно ничем не отличается от других в конструкторе, но если вы хотите быть технически ...

setEmployeeNumber(num); // calls the method that sets the employee number to the value of num 

Предполагая, что где-то в вашем коде у вас есть этот

public void setEmployeeNumber(String num) //setter with param num 
{ 
    employeeNumber= num;  //assign value of num to employeeNumber 
} 
0

метод setEmployeeNumber(String e), скорее всего, используется для установки уникального алфавитно-цифрового номера (содержащего AZ & 0-9). Все, что вам нужно было бы прокомментировать, это что-то вроде //assign employeeNumber to e.