# JavaClasses [![Quality Gate Status](https://sonarqube.mattrixwv.com/api/project_badges/measure?project=JavaClasses&metric=alert_status&token=sqb_393560530c97c2e9f2bc1df1b34c801926363baa)](https://sonarqube.mattrixwv.com/dashboard?id=JavaClasses) This is a set of classes and functions, not part of the standard library, that I have found it helpful to keep around. ## Stopwatch This is a class that allows you to determine the execution time of an algorithm. You can get specific resolutions of time through their own get functions, all of which return double. However I have built it a function, getStr(), that automatically chooses the best resolution and returns both the number and resolution as a string. ```Java Stopwatch timer = new Stopwatch(); timer.start(); //Code to time here timer.stop(); System.out.printf("It took %s to run this algorithm", timer.getStr()); //You could also do something like this if you prefered System.out.printf("It took %f milliseconds to run this algorithm", timer.getMilli()); ``` ## Algorithms This is a class that contains many different algorithms that I have found it useful to keep around. This is used extensively in my [Project Euler](https://git.mattrixwv.com/ProjectEuler/ProjectEulerJava) project. All methods are overloaded to allow for using Integer, Long, and BigInteger types.