-1

次のようにファーストクラス:

public class employeeApp
{
    public static void main()
    {
        EmployeeProgram.employee Employee = new EmployeeProgram.employee( );
    }

    public void employee(int employeeNumber, string name, string dateOfHire, int monthlySalary)
    {
        employeeNumber = 123;
        name = Cody;
        dateOfHire = 01/01/11;
        monthlySalary = 2500;
    }
}

2 番目のクラスは次のとおりです。

/*
 * Mosbrucker_C_PRO_01              Author: Mosbrucker, Cody
 * Creates a class for employee with data members;
 * Employee number, name, date of hire, and monthly salary.
 * ****************************************************/

public class employee
{
      private int employeeNumber;
      private string name;
      private string dateOfHire;
      private int monthlySalary;


    public int EmployeeNumber
    {
        get
        {
            return employeeNumber;
        }
        set
        {
            employeeNumber = value;
        }
    }

    public string Name
    {
        get
        {
            return name;
        }
        set
        {
            name = value;
        }
    }

    public string DateOfHire
    {
        get
        {
            return dateOfHire;
        }
        set
        {
            dateOfHire = value;
        }
    }

    public int MonthlySalary
    {
        get
        {
            return monthlySalary;
        }
        set
        {
            monthlySalary = value;
        }
    }

    public override string ToString()
    {
        return "Employee Id: " + employeeNumber +
               "Employee Name: " + name +
               "Employee Date of Hire: " + dateOfHire +
               "Employee Monthly Salary: " + monthlySalary;
    }
}

私が得ている問題は次のとおりです。*私のemployeeAppクラスには、「適切なエントリポイントの「静的」メインメソッドが含まれていません」*私のemployeeAppクラスには、「Codyという名前は現在のコンテキストには存在しません*dateOfHireに関連する私のemployeeAppクラスでは"int を文字列に暗黙的に変換することはできません

私はクラスとその割り当てのためにこれをやっています: 従業員クラスを作成します。データメンバーとして含める項目は、社員番号、氏名、入社日、月給です。適切なコンストラクターとプロパティを含めます。ToString ( ) メソッドをオーバーライドして、すべてのデータ メンバーを返します。2 番目のクラスを作成して、Employee クラスをテストします。

どんな助けでも大歓迎です。

4

2 に答える 2

1

1.C# では Main(Capital M) を使用するため、Main メソッドは次のようになります。

static void Main()

2.クラスでコンストラクターを作成する必要がありますemploye
3.文字列を文字列変数に割り当てる必要がありますが、日付を割り当てています。以下のように :

dateOfHire = 01/01/11;

あなたのコンストラクタで

4.コンストラクターでCody文字列として表す必要があります5. クラスのローカル変数にデータを割り当てながら、同じ名前の変数を割り当てるときに現在のオブジェクトを表すために使用します "Cody"
this

例:this.employeenumber=employeenumber;
ファイル 1:

namespace employee
{
public class employeeApp
{
    public static void Main()
    {
        EmployeeProgram.employee Employee = new EmployeeProgram.employee(123,"Cody","11/11/11",24567);//call your constructor

    }
  }
}

ファイル 2:

/*
 * Mosbrucker_C_PRO_01              Author: Mosbrucker, Cody
 * Creates a class for employee with data members;
 * Employee number, name, date of hire, and monthly salary.
 * ****************************************************/
 namespace EmployeeProgram
 {
   public class employee
    {
      private int employeeNumber;
      private string name;
      private string dateOfHire;
      private int monthlySalary;

       public employee(int employeeNumber, string name, string dateOfHire, int monthlySalary)
    {

        this.employeeNumber = 123;
        this.name = "Cody";
        this.dateOfHire = "01/01/11";
        this.monthlySalary = 2500;
    }

    public int EmployeeNumber
    {
        get
        {
            return employeeNumber;
        }
        set
        {
            employeeNumber = value;
        }
    }

    public string Name
    {
        get
        {
            return name;
        }
        set
        {
            name = value;
        }
    }

    public string DateOfHire
    {
        get
        {
            return dateOfHire;
        }
        set
        {
            dateOfHire = value;
        }
    }

    public int MonthlySalary
    {
        get
        {
            return monthlySalary;
        }
        set
        {
            monthlySalary = value;
        }
    }

    public override string ToString()
    {
        return "Employee Id: " + employeeNumber +
               "Employee Name: " + name +
               "Employee Date of Hire: " + dateOfHire +
               "Employee Monthly Salary: " + monthlySalary;
    }


}
}
于 2013-11-15T03:48:38.727 に答える
1

問題 1 - C# では大文字と小文字が区別されます。メインを大文字にします。アクセス修飾子の使用はpublic必須ではなく、一般的には推奨されませんMain

static void Main()

問題 2 - 2 番目のname = Cody;意味は...name = "Cody";

問題 3 - 3 番目の問題では、int 値を呼び出して int 値を文字列に変換する必要がありToString()ます。 employeeNumber.ToString()monthlySalary.ToString()

ここには多くの問題があり、それらはすべてかなり基本的なものです。Google を使用するか、解決できなかった正確な理由を説明することをお勧めします。そうしないと、自分で問題を解決するために必要な努力をしていないように見えるかもしれません。

問題 4this I/O 書き込みの問題に関しては、ローカル変数とプライベート フィールドの名前が競合するため、キーワードを使用して修飾する必要があります。

public class employee
{
    private int employeeNumber;
    private string name;
    private string dateOfHire;
    private int monthlySalary;

    public employee(int employeeNumber, string name, string dateOfHire, int monthlySalary)
    {
        this.employeeNumber = 123;//because you have naming collissions you need to use `this`
        this.name = "Cody";
        this.dateOfHire = "01 / 01 / 11";
        this.monthlySalary = 2500;
    }

    public override string ToString()
    {
        return "Employee Id: " + employeeNumber +
               "Employee Name: " + name +
               "Employee Date of Hire: " + dateOfHire +
               "Employee Monthly Salary: " + monthlySalary;
    }


    public void Print()
    {
        Console.WriteLine(this.ToString());
    }
}

次にメイン

    static void Main(string[] args)
    {
        employee e = new employee(1,"","",0);//these values are ignored the way you set this up
        e.Print();
        Console.ReadLine();
    }
于 2013-11-15T03:47:45.397 に答える