MCPcopy Create free account
hub / github.com/decodableco/examples / App

Class App

github-webhooks/NameGen.java:18–54  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16import java.util.Random;
17
18public class App {
19
20 public static void main(String[] args) {
21 List<Committer> committers = Arrays.asList(
22 new Committer("Catalina Lehner", "catalina.lehner@example.com", 0.3),
23 new Committer("Omer Kreiger", "omer.kreiger@example.com", 0.10),
24 new Committer("Thuy Schamberger", "thuy.schamberger@example.com", 0.20),
25 new Committer("Gerry Marquardt", "gerry.marquardt@example.com", 0.05),
26 new Committer("Edward Kuhlman", "edward.kuhlman@example.com", 0.03),
27 new Committer("Kent Weissnat", "kent.weissnat@example.com", 0.07),
28 new Committer("Denver Rosenbaum", "denver.rosenbaum@example.com", 0.09),
29 new Committer("Ruben Runolfsson", "ruben.runolfsson@example.com", 0.02),
30 new Committer("Jone Collier", "jone.collier@example.com", 0.08),
31 new Committer("Alexander Davis", "alexander.davis@example.com", 0.06)
32 );
33
34 double sum = 0;
35 Map<Committer, Double> accumulatedWeight = new LinkedHashMap<>();
36 for (Committer committer : committers) {
37 sum += committer.weight;
38 accumulatedWeight.put(committer, sum);
39 }
40
41 Random random = new Random();
42 double value = random.nextDouble();
43
44 for (Entry<Committer, Double> committer : accumulatedWeight.entrySet()) {
45 if(value < committer.getValue()) {
46 System.out.println(committer.getKey().name() + " <" + committer.getKey().email + ">");
47 break;
48 }
49 }
50 }
51
52 private record Committer(String name, String email, double weight) {
53 }
54}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected