D:\Sam\InterviewsMaterial\SiteWorx\SiteWorxTest\src\java\dataobjects\UserDigitsInputDAO.java |
1
2
3
4
5 package dataobjects;
6
7 import java.util.ArrayList;
8 import java.io.*;
9 import java.util.*;
10 import java.util.StringTokenizer;
11
12
13
14 @author
15
16 import utils.*;
17 import constants.*;
18 import services.*;
19
20 public class UserDigitsInputDAO
21 {
22 private String userFirstName = Constants.NO_VALUE_IN_STRING;
23 private String userLastName = Constants.NO_VALUE_IN_STRING;
24 private String userEmailAddress = Constants.NO_VALUE_IN_STRING;
25 private long userID = Constants.NO_VALUE;
26 private long userStartingTimeStamp = Constants.NO_VALUE;
27 private String stringOfDigits = null;
28 int [] inputDigitsArray = null;
29
30 private int totalCount = Constants.NO_VALUE;
31 private long sumValue = Constants.NO_VALUE;
32 private double averageValue = Constants.NO_VALUE;
33 private double medianValue = Constants.NO_VALUE;
34 private int highestValue = Constants.NO_VALUE;
35 private int lowestValue = Constants.NO_VALUE;
36
37
38 public UserDigitsInputDAO()
39 {
40 }
41
42 @return
43
44 public String getUserFirstName() {
45 return userFirstName;
46 }
47
48
49 @param
50
51 public void setUserFirstName(String userFirstName) {
52 this.userFirstName = userFirstName;
53 }
54
55
56 @return
57
58 public String getUserLastName() {
59 return userLastName;
60 }
61
62
63 @param
64
65 public void setUserLastName(String userLastName) {
66 this.userLastName = userLastName;
67 }
68
69
70 @return
71
72 public String getUserEmailAddress() {
73 return userEmailAddress;
74 }
75
76
77 @param
78
79 public void setUserEmailAddress(String userEmailAddress) {
80 this.userEmailAddress = userEmailAddress;
81 }
82
83
84 @return
85
86 public long getUserID() {
87 return userID;
88 }
89
90
91 @param
92
93 public void setUserID(long userID) {
94 this.userID = userID;
95 }
96
97
98 @return
99
100 public long getUserStartingTimeStamp() {
101 return userStartingTimeStamp;
102 }
103
104
105 @param
106
107 public void setUserStartingTimeStamp(long userStartingTimeStamp) {
108 this.userStartingTimeStamp = userStartingTimeStamp;
109 }
110
111 @param
112
113 public String toString() {
114 return ("userFirstName " + getUserFirstName()
115 + "userLastName " + getUserLastName()
116 + "userEmailAddress " + getUserEmailAddress()
117 + "user_ID " + getUserID()
118 + "userStartingTimeStamp " + getUserStartingTimeStamp());
119 }
120
121
122 @return
123
124 public String getStringOfDigits()
125 {
126 return stringOfDigits;
127 }
128
129
130 @param
131
132 public void setStringOfDigits(String stringOfDigits)
133 {
134 this.stringOfDigits = stringOfDigits;
135 if(stringOfDigits != null)
136 {
137 if(stringOfDigits.length() <= 0)
138 {
139 inputDigitsArray = null;
140 return;
141 }
142 int digitsCount = stringOfDigits.length() - stringOfDigits.replaceAll( ",", "").length() + 1;
143
144 if(0 == digitsCount)
145 {
146 inputDigitsArray = new int [1];
147 try
148 {
149 int tempint = Integer.parseInt(stringOfDigits);
150 inputDigitsArray[0] = tempint;
151 }
152 catch(NumberFormatException e)
153 {
154 inputDigitsArray[0] = 0;
155 }
156 }
157 else if(digitsCount >= 1 )
158 {
159 inputDigitsArray = new int [digitsCount];
160 StringTokenizer stringTokenizerHandle = new StringTokenizer(stringOfDigits, ",");
161 int counter = 0;
162 while(stringTokenizerHandle.hasMoreTokens())
163 {
164 String nextIntvalueString = stringTokenizerHandle.nextToken();
165 try
166 {
167 int tempint = Integer.parseInt(nextIntvalueString);
168 inputDigitsArray[counter] = tempint;
169 }
170 catch(NumberFormatException e)
171 {
172 inputDigitsArray[counter] = 0;
173 }
174 counter++;
175
176 if(counter >= digitsCount)
177 break;
178 }
179 }
180
181 BinarySearch_BubbleSortServices.BubbleSortAscending(inputDigitsArray);
182 }
183 }
184
185
186 @return
187
188 public int getTotalCount() {
189 if(null == inputDigitsArray)
190 return(0);
191 return (inputDigitsArray.length);
192 }
193
194
195 @return
196
197 public long getSumValue() {
198 if(null == inputDigitsArray)
199 return(0);
200 sumValue = 0;
201 for(int count = 0; count < inputDigitsArray.length; count++)
202 sumValue += inputDigitsArray[count];
203 return sumValue;
204 }
205
206
207
208 @return
209
210 public double getAverageValue() {
211 if(null == inputDigitsArray)
212 return(0);
213 sumValue = 0;
214 for(int count = 0; count < inputDigitsArray.length; count++)
215 sumValue += inputDigitsArray[count];
216 averageValue = sumValue / inputDigitsArray.length;
217 return averageValue;
218 }
219
220
221 @return
222
223 public double getMedianValue() {
224 if(null == inputDigitsArray)
225 return(0);
226 int OddEvenArraySize = inputDigitsArray.length;
227 if(1 == OddEvenArraySize)
228 {
229 medianValue = inputDigitsArray[0];
230 return medianValue;
231 }
232 if (2 == OddEvenArraySize)
233 {
234 medianValue = getSumValue() / 2;
235 return medianValue;
236 }
237
238 if (1 == (OddEvenArraySize % 2))
239 {
240 int index = (getTotalCount() / 2);
241 medianValue = inputDigitsArray[index];
242 return medianValue;
243 }
244
245 if (0 == (OddEvenArraySize % 2))
246 {
247 int index = (getTotalCount() / 2);
248 medianValue = (inputDigitsArray[index] + inputDigitsArray[index + 1]);
249 return medianValue;
250 }
251
252 return medianValue;
253 }
254
255
256 @return
257
258 public int getHighestValue() {
259 if(null == inputDigitsArray)
260 return(0);
261 highestValue = inputDigitsArray[inputDigitsArray.length - 1];
262 return highestValue;
263 }
264
265
266 @return
267
268 public int getLowestValue() {
269 if(null == inputDigitsArray)
270 return(0);
271 lowestValue = inputDigitsArray[0];
272 return lowestValue;
273 }
274 }
275