Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Part02
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Assessment
Part02
Commits
872aad8c
Commit
872aad8c
authored
Jan 04, 2019
by
neil.whitehead
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
FINAL
parent
84d2d7e1
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
44 deletions
+31
-44
AssessmentPartTwo.java
src/AssessmentPartTwo.java
+31
-44
No files found.
src/AssessmentPartTwo.java
View file @
872aad8c
import
static
org
.
junit
.
Assert
.
assertThat
;
import
java.util.Arrays
;
/**
* <b>Assessment</b> part two<br>
* <b>Created</b> 08/11/18<br>
* <b>Modified</b> 04/01/18<br>
* @author <a href = "mailto:neil.whitehead@yorksj.ac.uk"> Neil Whitehead</a>, <a href = "mailto:a.guest@yorksj.ac.uk">Andrew Guest</a>
*/
public
class
AssessmentPartTwo
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
passwordValidator
(
"lo98passwdiI"
));
}
/**
* Calculates Scrabble score of string. <br>
* Assumes that no validation checks are required.
* @param aWord String
* @return int
*/
public
int
scrabbleScore
(
String
aWord
)
{
// 03 -Scrabble Score
// Complete this method so that it returns the scrabble score for the word in aWord
// In scrabble each letter is worth a number of points and each word is worth the
// sum of the scores of the letters in it. For this assignment we will ignore
// double/treble letter/word bonuses.
// The English language points per letter can be found at
// https://en.wikipedia.org/wiki/Scrabble_letter_distributions
// You will need to come up with a way of connecting each letter to its score and
// a way of identifying each letter in the word.
int
intWordScore
=
0
;
int
intScoreArr
[]
=
{
1
,
3
,
3
,
2
,
1
,
4
,
2
,
4
,
1
,
8
,
5
,
1
,
3
,
1
,
1
,
3
,
10
,
1
,
1
,
1
,
1
,
4
,
4
,
8
,
4
,
10
};
...
...
@@ -29,7 +22,6 @@ public class AssessmentPartTwo
aWord
=
aWord
.
toLowerCase
();
//converts string to lowercase
char
chaWordArr
[]
=
aWord
.
toCharArray
();
//places string into array as ASCII chars
for
(
int
i
=
0
;
i
<
chaWordArr
.
length
;
i
++)
{
//Validation: if value is not lowercase letter (ASCII 97 - 122) then skip this iteration
...
...
@@ -37,27 +29,24 @@ public class AssessmentPartTwo
{
continue
;
}
intWordScore
=
intWordScore
+
intScoreArr
[(
chaWordArr
[
i
]-
97
)];
//Char's ASCII code - 97 = Char's position in intScoreArr
}
return
intWordScore
;
}
public
static
Boolean
passwordValidator
(
String
password
)
//REMEMBER TO TAKE OUT STATIC
/**
* Ensures password is valid. <br>
* • must be between 8 and 16 characters long (inclusive)
* • made up of letters (upper or lower), numbers, and the following characters !�$%
* • has at least one lower case letter, one upper case letter and a number
* • does not contain the phrases 'password' or 'passwd'
* @param password String
* @return Boolean
*/
public
Boolean
passwordValidator
(
String
password
)
{
// 04 - Password Validator
// Complete this method to validate that the String password
// is a valid password
// A password is valid if it is
// - between 8 and 16 characters long (inclusive)
// - made up of letters (upper or lower), numbers, and the following characters !�$%
// - has at least one lower case letter, one upper case letter and a number
// - does not contain the phrases 'password' or 'passwd'
boolean
booUpper
=
false
;
//Uppercase present
boolean
booLower
=
false
;
//Lowercase present
boolean
booNum
=
false
;
//Number present
...
...
@@ -68,13 +57,11 @@ public class AssessmentPartTwo
//Password length between 8 and 16 characters
if
((
password
.
length
()
<
8
)
||
(
password
.
length
()
>
16
))
{
System
.
out
.
println
(
password
.
length
());
return
false
;
}
//Password does not contain. . .
for
(
int
i
=
0
;
i
<
strMustNotContain
.
length
;
i
++)
//selects banned words from array
{
...
...
@@ -84,6 +71,7 @@ public class AssessmentPartTwo
}
}
//Password only alphanumeric or !�$%, contains both upper, lower, and numerics
for
(
int
i
=
0
;
i
<
passwordArr
.
length
;
i
++)
{
...
...
@@ -113,9 +101,7 @@ public class AssessmentPartTwo
{
//if password does not contain Num, Upper, or Lower Chars
return
false
;
}
//FUCK SAKE. LOOK UP REGEXES.
return
true
;
/* Legacy code that I want to keep if I ever look back on this
...
...
@@ -162,6 +148,7 @@ public class AssessmentPartTwo
}
*/
return
true
;
//Could this be achieved using a regex instead?
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment