-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathErrorHandler.java
More file actions
executable file
·60 lines (47 loc) · 1.65 KB
/
ErrorHandler.java
File metadata and controls
executable file
·60 lines (47 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package mastermind;
public class ErrorHandler {
private int errorType;
private String errorMessage;
public void chkYesNoError(String yesno) {
setErrMsg(0, "");
try {
if (yesno.length() != 1) {
throw new Exception();
}
Choose.valueOf(yesno.toUpperCase());
} catch (Exception err) {
setErrMsg(1, "Please input y or n !");
}
}
public void chkPegsColour(String guess, BaseData baseData) {
setErrMsg(0, "");
char maxGuessValue = Integer.toString(baseData.getMaxColourValue()).charAt(0);
char minGuessValue = Integer.toString(baseData.getMinColourValue()).charAt(0);
for (int i = 0; i < guess.length(); i++) {
if (guess.charAt(i) < minGuessValue || guess.charAt(i) > maxGuessValue) {
String msg = "Use digit " + "'" + minGuessValue + "'" + " to " + "'" + maxGuessValue + "'"
+ " to represent Colour!!!";
setErrMsg(2, msg);
break;
}
}
}
public void chkPegsNumber(String guess, BaseData baseData) {
setErrMsg(0, "");
if (guess.length() != baseData.getMaxColourNum()) {
String num = NumericAlp.of(baseData.getMaxColourNum()).getNumerAlp();
String msg = "Only " + num + " pegs are allowed!!!";
setErrMsg(2, msg);
}
}
public boolean getError() {
return errorType != 0;
}
public void setErrMsg(int type, String msg) {
errorType = type;
errorMessage = msg;
}
public String getErrMsg() {
return errorMessage;
}
}