Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.44 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.io.*;
  3. import java.util.Scanner;
  4. import java.lang.IndexOutOfBoundsException;
  5. public class StatsDriver {
  6. public static void main (String [] args) {
  7. Statistics dhanya = new Statistics ();
  8. dhanya.read();
  9. dhanya.mode();
  10. dhanya.average();
  11. dhanya.standarddeviation();
  12. }
  13. }
  14. class Statistics
  15. {
  16. double average = 0;
  17. ArrayList<Integer> numbers = new ArrayList<Integer>();
  18. Scanner in = null;
  19. int mode = 0;
  20. public Statistics () {
  21. }
  22. public void read () {
  23. try {
  24.  
  25. in = new Scanner(new File("numbers.txt"));
  26.  
  27. }
  28.  
  29. catch (IOException i) {
  30.  
  31. System.out.println("Error: " + i.getMessage());
  32.  
  33. }
  34.  
  35. while (in.hasNext()) {
  36. numbers.add(Integer.parseInt(in.next()));
  37. }
  38. System.out.println(numbers);
  39. }
  40. public double average () {
  41. double sum = 0;
  42. for (int i = 0; i < numbers.size(); i++) {
  43. sum += numbers.get(i);
  44. }
  45. average = sum/(numbers.size()+1);
  46. System.out.println(average);
  47. return average;
  48. }
  49.  
  50. public double standarddeviation () {
  51. double locsum = 0;
  52. for (int i = 0; i < numbers.size(); i++) {
  53. locsum += Math.pow((numbers.get(i)-average), 2);
  54. }
  55. System.out.println(Math.sqrt(locsum/numbers.size()));
  56. return Math.sqrt(locsum/numbers.size());
  57. }
  58.  
  59. public ArrayList mode () {
  60. ArrayList<Integer> mode = new ArrayList<Integer> ();
  61. mode.add(0);
  62. for (int i = 0; i <= 100; i++) {
  63. int num = 0;
  64. for (int j = 0; j < numbers.size(); j++) {
  65. if (numbers.get(j) == i) {
  66. num++;
  67. }
  68. }
  69. try {
  70. if (num == mode.get(1)) {
  71. mode.add(i);
  72. }
  73. if (num > mode.get(1)) {
  74. for (int k = 1; k < mode.size(); k++) {
  75. mode.remove(mode.get(k));
  76. }
  77. mode.add(i);
  78. }
  79. }
  80. catch (IndexOutOfBoundsException e) {
  81. mode.add(i);
  82. }
  83. }
  84. mode.remove(mode.get(0));
  85. System.out.println(mode);
  86. return mode;
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement