- This assessment has 5 sections.
- fundamentals
VowelUtils
StringUtils
- arrays
SquareArrayAnalyzer
TicTacToe
- object orientation
RockPaperScissors
- collections
Lab
Student
LabStatus
- generics
ArrayUtility
- Difficult
- fundamentals
Each section has a README - so READ THEM. And Read the Tests, there are 94 of them. If you find yourself confused about the text descriptions, always write code to pass the tests.
All points are equal. Be sure to get as many points (get the low hanging fruit, get the easy ones) by solving them in any order.
- Can I use content from my old labs and assessments?
- Yes.
- Can I use content from the web / google?
- Yes.
- Can I contact someone other than an instructor for help?
- No. And not zipcoders, past, present or future.
- Can I use other zipcoders code?
- No-- Absolutely not.
- Can I modify the tests?
- No-- Absolutely not. You are forbidden from modifying the tests.
- What if the tests are requesting something different than the instructions / comments?
- Code against the tests, not the instructions.
- Refer to the tests to have a better understanding of the intended behavior.
- Can I use any AI/ChatGPT-like assistance?
- No, this is the same as contacting an expert friend to help. Not okay.
- Methods to Complete
Boolean hasVowels(String word)
- return
true
ifword
containsa
,e
,i
,o
, oru
.
- return
Boolean isVowel(Character character)
- return
true
ifcharacter
isa
,e
,i
,o
, oru
- return
Integer getIndexOfFirstVowel(String word)
- return the index of the first vowel occurring in
word
- return the index of the first vowel occurring in
Boolean startsWithVowel(String word)
- return
true
if first character ofword
is a vowel
- return
- Methods to Complete
String capitalizeNthCharacter(String str, Integer indexToCapitalize)
- return
str
with the character atindexToCapitalize
capitalized
- return
Boolean isCharacterAtIndex(String baseString, Character characterToCheckFor, Integer indexOfString)
- return
true
ifbaseString
hascharacterToChexFor
at index ofindexOfString
.
- return
String[] getAllSubStrings(String string)
- return the powerset of characters of
string
- return the powerset of characters of
Integer getNumberOfSubStrings(String input)
- return the number of all substrings in
input
- return the number of all substrings in
- Given two arrays
a
andb
write a methodcompare(a, b)
that returns true if the two arrays have the "same" elements, with the same multiplicities. "Same" means, here, that the elements inb
are the elements ina
squared, regardless of the order.
a = [121, 144, 19, 161, 19, 144, 19, 11]
b = [121, 14641, 20736, 361, 25921, 361, 20736, 361]
compare(a, b)
returns true because inb
- 121 is the square of 11,
- 14641 is the square of 121,
- 20736 the square of 144,
- 361 the square of 19,
- 25921 the square of 161, and so on.
a = [121, 144, 19, 161, 19, 144, 19, 11]
b = [132, 14641, 20736, 361, 25921, 361, 20736, 361]
compare(a,b)
returns false
because in b
132 is not the square of any number of a
.
a = [121, 144, 19, 161, 19, 144, 19, 11]
b = [121, 14641, 20736, 36100, 25921, 361, 20736, 361]
compare(a,b)
returns false
because in b
36100 is not the square of any number of a
.
- Description
- The purpose of this class is to create a model of a
TicTacToe
board. - To be homogenous means to be of a single type or value.
- The purpose of this class is to create a model of a
- Methods to Complete
String[] getRow(Integer rowInde)
- returns the array representative of the respective row index
String[] getColumn(Integer columnIndex)
- returns the array representative of the respective column index
Boolean isRowHomogenous(Integer rowIndex)
- returns true if the respective row contains 1 unique value.
Boolean isColumnHomogeneous(Integer columnIndex)
- returns true if the respective row contains 1 unique value.
String getWinner()
- return the
String
value of a homogenous row, column, or diagnol
- return the
String[][] getBoard()
- return the array representation of this
TicTacToe
board
- return the array representation of this
- Description
- Rock paper scissors is a hand game which allows a player to select 1 of 3 states:
ROCK
,PAPER
, orSCISSORS
. - A player who select
ROCK
will defeat a player who selectsSCISSORS
- A player who selects
PAPER
will defeat a player who selectROCK
- A player who selects
SCISSORS
will defeat a player who selectsPAPER
- Rock paper scissors is a hand game which allows a player to select 1 of 3 states:
-
Sample Script
// : Given RockPaperScissorHandSign rock = RockPaperScissorHandSign.ROCK; // : When RockPaperScissorHandSign winner = rock.getWinner(); RockPaperScissorHandSign loser = rock.getLoser(); // : Then System.out.println(winner); System.out.println(loser);
-
Sample Output
PAPER SCISSORS
-
Sample Script
// : Given RockPaperScissorHandSign paper = RockPaperScissorHandSign.PAPER; // : When RockPaperScissorHandSign winner = paper.getWinner(); RockPaperScissorHandSign loser = paper.getLoser(); // : Then System.out.println(winner); System.out.println(loser);
-
Sample Output
SCISSORS ROCK
-
Sample Script
// : Given RockPaperScissorHandSign scissors = RockPaperScissorHandSign.SCISSORS; // : When RockPaperScissorHandSign winner = scissors.getWinner(); RockPaperScissorHandSign loser = scissors.getLoser(); // : Then System.out.println(winner); System.out.println(loser);
-
Sample Output
ROCK PAPER
- Description
- The purpose of this class is to encapsulate a
name
andLabStatus
for a particular instance of aLab
- The purpose of this class is to encapsulate a
- Methods to Complete
String getName()
LabStatus getStatus()
void setStatus(LabStatus status)
- Description
- The purpose of this class is to encapsulate and manage a composite
List
ofLab
objects.
- The purpose of this class is to encapsulate and manage a composite
- Methods to Complete
Lab getLab(String labName)
void setLabStatus(String labName, LabStatus status)
void forkLab(Lab lab)
LabStatus getLabStatus(String labName)
- Description
- The purpose of this class is create enumerations representative of different states of a
Lab
for a particularStudent
.
- The purpose of this class is create enumerations representative of different states of a
- Enumerations to be created
COMPELTED
,INCOMPLETE
,PENDING
- Description
- The purpose of this class is to create a utility for handling generic array operations.
- Methods to Complete
SomeType findOddOccurringValue()
SomeType findEvenOccurringValue()
Integer getNumberOfOccurrences(SomeType valueToEvaluate)
SomeType[] filter(Function<SomeType, Boolean> predicate)