We're a community of 1077K IT Pros here for help, advice, solutions, professional growth and fun. Join us!
1,076,124 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Start New Discussion Reply to this Discussion

help solve this code problem

Quoted Text Here
i got this code from a book i am practicing with and when i try to compile it returns the following error

EmployeeTest.java:30: incompactible types
found : java.util.Date
required: Date
hireDay = calendar.getTime();

please how do i debug it

import java.util.*;


public class EmployeeTest
{
    public static void main (String[] args)
    {
        Employee[] staff = new Employee[3];

        staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15);
        staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1);
        staff[2] = new Employee("Tony Tester", 40000, 1990, 3, 15);

        for(Employee e : staff)
            e.raiseSalary(5);

        for(Employee e : staff)
            System.out.println("name=" +e.getName() + ", salary=" + e.getSalary() + ",hireDay="
                + e.getHireDay());
    }
}

class Employee
{
    public Employee (String n, double s, int year, int month, int day)
    {
        name = n;
        salary = s;
        GregorianCalendar calendar = new GregorianCalendar(year, month, day);
        hireDay = calendar.getTime();
    }

    public String getName()
    {
        return name;
    }

    public double getSalary()
    {
        return salary;
    }

    public Date getHireDay()
    {
        return (Date) hireDay;
    }

    public void raiseSalary(double byPercent)
    {
        double raise = salary * byPercent/100;`Inline Code Example Here`
        salary += raise;
    }

    private String name;
    private double salary;
    private Date hireDay;
}
5
Contributors
7
Replies
6 Days
Discussion Span
8 Months Ago
Last Updated
9
Views
Question
Answered
kkcaddy
Newbie Poster
20 posts since Aug 2009
Reputation Points: 10
Solved Threads: 0
Skill Endorsements: 0

The code compiles for me (after I fix a comment on line 50)
Do you have another Date class defined on your PC?

EmployeeTest.java:30: incompactible types

What compiler are you using? I've never seen this error before. It's best to copy and paste error messages and not type them in.

NormR1
Posting Sage
Team Colleague
7,742 posts since Jun 2010
Reputation Points: 1,158
Solved Threads: 793
Skill Endorsements: 16

import java.util.*;

This needs to go in Employee class as well.

Starstreak
Light Poster
48 posts since Aug 2012
Reputation Points: 13
Solved Threads: 10
Skill Endorsements: 0

This needs to go in Employee class as well.

Not if there is only one source file.

NormR1
Posting Sage
Team Colleague
7,742 posts since Jun 2010
Reputation Points: 1,158
Solved Threads: 793
Skill Endorsements: 16

Just give proper comment at line 50 after semicolon.(like // for comment)
The code will compile successfully and also run perfectly.
It has worked in my computer.
So just try it.

jalpesh_007
Posting Whiz
336 posts since Sep 2010
Reputation Points: 4
Solved Threads: 36
Skill Endorsements: 4

sorry i replied so late, i got error when i tried posting the thread so i had to start a new thread to understand how to insert codes and sorry about the typographical error.

kkcaddy
Newbie Poster
20 posts since Aug 2009
Reputation Points: 10
Solved Threads: 0
Skill Endorsements: 0
kkcaddy
Newbie Poster
20 posts since Aug 2009
Reputation Points: 10
Solved Threads: 0
Skill Endorsements: 0

Your code works for me.
There is no problem in the code & it is written in the book then it cannot be wrong.
It only gives problem at line 50 where you written:

Inline Code Example Here

vinnitro
Posting Pro
536 posts since Sep 2010
Reputation Points: 7
Solved Threads: 4
Skill Endorsements: 7
Question Answered as of 8 Months Ago by NormR1, jalpesh_007, vinnitro and 1 other

This question has already been solved: Start a new discussion instead

Post: Markdown Syntax: Formatting Help
 
You
 
© 2013 DaniWeb® LLC
Page rendered in 0.1071 seconds using 2.76MB