Repository navigation
Expand file tree
/
Copy pathuserEngagementAnalytics.java
More file actions
72 lines (57 loc) · 2.17 KB
/
Copy pathuserEngagementAnalytics.java
File metadata and controls
72 lines (57 loc) · 2.17 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
61
62
63
64
65
66
67
68
69
70
71
import java.util.HashMap;
import java.util.Map;
public class UserEngagementTracker {
private Map<String, UserEngagementData> userEngagementMap;
public UserEngagementTracker() {
this.userEngagementMap = new HashMap<>();
}
public void recordEngagement(String userID, boolean isFocused) {
UserEngagementData userData = userEngagementMap.getOrDefault(userID, new UserEngagementData());
userData.addEngagement(isFocused);
userEngagementMap.put(userID, userData);
}
public void printUserEngagementData(String userID) {
if (userEngagementMap.containsKey(userID)) {
UserEngagementData userData = userEngagementMap.get(userID);
System.out.println("User " + userID + " Engagement Data:");
System.out.println("Total Sessions: " + userData.getTotalSessions());
System.out.println("Total Focused Sessions: " + userData.getFocusedSessions());
System.out.println("Average Focus Percentage: " + userData.getAverageFocusPercentage() + "%");
} else {
System.out.println("User " + userID + " not found in engagement data.");
}
}
public static void main(String[] args) {
UserEngagementTracker tracker = new UserEngagementTracker();
// Simulate user engagement data
String userID = "user123";
tracker.recordEngagement(userID, true);
tracker.recordEngagement(userID, false);
tracker.recordEngagement(userID, true);
// Print user engagement data
tracker.printUserEngagementData(userID);
}
}
class UserEngagementData {
private int totalSessions;
private int focusedSessions;
public UserEngagementData() {
this.totalSessions = 0;
this.focusedSessions = 0;
}
public void addEngagement(boolean isFocused) {
totalSessions++;
if (isFocused) {
focusedSessions++;
}
}
public int getTotalSessions() {
return totalSessions;
}
public int getFocusedSessions() {
return focusedSessions;
}
public double getAverageFocusPercentage() {
return (double) focusedSessions / totalSessions * 100;
}
}