The source code you submit must be entirely your work and must be written entirely during the exam period. The use of any pre-existing code (other than that provided as part of the exam) is prohibited.
Your code need not comply with the course style guidelines and need not include comments. You should not submit any tests.
No limit will be placed on the number of submissions but, obviously, you must complete the exam during the exam period and submissions waste time. Autolab will not provide hints. Your last submission is the one that will be graded.
For question 1, you must submit a .zip
file named e1q1.zip
that contains just the file Game.java
.
For question 2, you must submit a .zip
file named e1q2.zip
that contains just the file Inspector.java
.
Game
class which must contain
a method named isUnlucky()
and a method named
movePieceBy()
.
movePieceBy()
is passed an int
board
position (there are 32 such positions and they are 0-based) and
an int
representing the number on one die (which can
have an arbitrary number of sides, not just six, and, hence,
have any value). It must
return the board position that corresponds to advancing the current
board position by the number of positions on the die. So, for
example, if the current position is 18 and the number on the die
is 22, it must return 8.
isUnlucky()
is passed two int
values
representing the numbers on two dice.
isUnlucky()
must return true
if the sum of
the two dice (each of which can again have an arbitrary number of sides)
is a multiple of 13 and must return false
otherwise.
So, for example, it must return true
if it is passed 39
and must return false if it is passed 40.
Your solution must not print to the console/display and must not
read from the console/keyboard. You may write a main class (with a
main()
method) for testing purposes, but you must not
submit it.
Note: The elegance of your solution matters. That is, there are
more and less elegant solutions to this problem. The more elegant
your solution, the more points you will receive. For example, it
is very inelegant to use multiple if
statements, and
it is inelegant to use an if
statement,
switch
statement, or ternary
operator.
public class Game { public int movePieceBy(int position, int number) { } public boolean isUnlucky(int die1, int die2) { } }
Inspector
that contains a
public static
method named isCleanEnough()
that is passed an int
named age
,
a double
named co
, and
a double
named particulates
,
and returns a boolean
.
This method must:
double
variable
named ageFactor
.
2.0
to ageFactor
if age
is between 10
and 20
(inclusive) and
assign the value 1.0
to ageFactor
otherwise.
double
variable named
adjusted
.
co
by ageFactor
and
assign the result to adjusted
false
if the age adjusted carbon
monoxide emissions value is greater than 200.0
.
false
if the particulates value is
greater than 50.0
.
false
if both the age adjusted carbon
monoxide emissions value and the particulates value are greater
than 20.
true
otherwise.
return
statement.
Your solution must not print to the console/display and must not
read from the console/keyboard. You may write a main class (with a
main()
method) for testing purposes, but you must not
submit it.
Note: The elegance of your solution matters. That is, there are
more and less elegant solutions to this problem. The more elegant
your solution, the more points you will receive. For example, it
is very inelegant to use multiple if
statements, and
it is inelegant to use an if
statement,
switch
statement, or ternary
operator.
Copyright 2020