Skip to content

Instantly share code, notes, and snippets.

@Madis0
Created August 25, 2021 18:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Madis0/bb86307f39a9324c2914df9d65a6d675 to your computer and use it in GitHub Desktop.
Save Madis0/bb86307f39a9324c2914df9d65a6d675 to your computer and use it in GitHub Desktop.
Calculate and display the average every second
package bit.clockworks; // probably unused lol
import java.util.ArrayList;
import java.util.Random;
public class Main implements Runnable {
@Override
public void run() {
var changingValues = new ArrayList<Float>();
for (;;) {
var changingVar = getChangingVar();
if ((
changingValues.size() > 0 &&
changingVar != changingValues.get(changingValues.size() - 1)
) ||
changingValues.size() == 0) {
changingValues.add((float) changingVar);
}
var visibleVar = changingValues.stream().mapToDouble(val -> val).average().orElse(0.0);
System.out.println("visibleVar : " + visibleVar);
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
Thread t = new Thread(new Main());
t.start();
}
public static int getRandomNumberUsingNextInt(int min, int max) {
Random random = new Random();
return random.nextInt(max - min) + min;
}
// should be getChangingVal since var is reference to mem addr
public static int getChangingVar() {
return getRandomNumberUsingNextInt(0, 1000);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment