Q1304 – Introduction to Java
Programming
Homework Session 3
1)
Type casting
- Declare the following new variables: b (byte), i (int) and f
(double).
Assign the value 120 to b and print it out.
Assign the value of b to i and print it out.
Assign the value of i to f and print it out.
What do you notice?
- Opposite direction:
Assign the value 150.257 to f.
Assign the value of f to i and print it out.
Assign the value of i to b and print it out.
Why can’t you compile the class? Fix the problem (keyword ‘casting’).
2)
Arithmetics
- Given the following variable initializations:
int m = 13;
int n = 25;
int b = 3 * n++;
int a = 5 * ++m;
What values do the variables m, n, b and a have after the above steps?
What is the explanation?
3)
Arrays
- Declare and define an array that contains the
names of all days of the week. Do the declaration, definition and value
assignments separately. Afterwards, print out the complete contents of the
array to the command line using a single System.out.println statement.
Every value should be separated using a comma. In addition, print out the
length of the array.
- Same as 3a, but initialize the array in a single
step.
4)
Control Structures
- Using a for loop, add the numbers 1 to 100 to a new array.
After the for loop is done, print out all the values of the array in the
following manner:
o
Use a while loop.
o
Print out ten numbers
in one single line delimited by a space character. Then start a new line for
the next 10 numbers.
- Modify 4a by using a switch statement in the following way:
After each block of 10 numbers, print out the sentence “These were the
numbers x to y”. Substitute x and y with the appropriate values.
5)
Coordinate class
- Create a new class “Coordinate”. This class should contain the
attributes x and y which describe it’s position in a coordinate system.
Equip this class with the following methods:
- Constructor with x and y input parameters
- Constructor which takes an existing Coordinate
object to instantiate a new one.
- "moveTo(int x, int y)" – for moving
the coordinate to a new position.
- "moveTo(Coordinate coord) – also for
moving the coordinate using an existing coordinate.
- "moveBy(int x, int y)" – for moving
the coordinate by a vector
- "moveBy(Coordinate coord)" – like
previous method, but different input parameter
- "distanceTo(int x, int y)" –
calculates the distance between this and another coordinate x,y. Returns
the distance.
- "distanceTo(Coordinate coord)" – like
previous method, but different input parameter
- "getX()" und "getY()" –
return the x and y position of the coordinate.
- "setX()" und "setY()" – set
the x and y position of the coordinate.
- "print()" – print out the coordinates
in the following form: [x,y].
- Write a test program that uses instances of the class “Coordinate”
and tests all of it’s methods.
Note: Use the following formula to calculate the
distance between two coordinates, where (x1,y1) and (x2,y2) are two
coordinates:
xd = x2-x1;
yd = y2-y1;
double distance = Math.sqrt(xd*xd + yd*yd)