Guest User

Untitled

a guest
Feb 22nd, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. import java.text.SimpleDateFormat;
  2. import java.util.Random;
  3.  
  4. public class SampleGenerator {
  5. final private Random rnd = new Random();
  6. final private static SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss");
  7.  
  8. final String name;
  9. final double mean;
  10. final double variance;
  11.  
  12. public SampleGenerator(String name, double mean, double variance) {
  13. this.name = name;
  14. this.mean = mean;
  15. this.variance = variance;
  16. }
  17.  
  18. public double next() {
  19. return rnd.nextGaussian() * variance + mean;
  20. }
  21.  
  22. public void log() {
  23. long currentTimeMillis = System.currentTimeMillis();
  24. System.out.println(String.format("TS: %s, sensor: %s,\t value: %2.0f",
  25. df.format(currentTimeMillis),
  26. name,
  27. next()));
  28. }
  29.  
  30. /**
  31. * Start separate sampling thread
  32. * @param interval in milli-seconds
  33. */
  34. public void startSampleIntervals(int interval) {
  35. new Thread() {
  36. @Override
  37. public void run() {
  38. try {
  39. while (true) {
  40. Thread.sleep(interval);
  41. log();
  42. }
  43. } catch (InterruptedException e) {
  44. e.printStackTrace();
  45. }
  46. }
  47. }.start();
  48. }
  49.  
  50. public static void main(String[] args) {
  51.  
  52. SampleGenerator heartBeats = new SampleGenerator("heart 1", 70, 20);
  53. SampleGenerator heartBeats2 = new SampleGenerator("heart 2", 70, 20);
  54. SampleGenerator temp = new SampleGenerator("temp 1", 37, 5);
  55.  
  56. heartBeats.startSampleIntervals(2000);
  57. heartBeats2.startSampleIntervals(4000);
  58. temp.startSampleIntervals(3000);
  59. }
  60. }
Add Comment
Please, Sign In to add comment