// Java class Tutorial
// BubbleSort array (random values) + sum + moving average
// 
// Save to:  BubbleSort.java
//           javac BubbleSort.java
//           java BubbleSort
public class BubbleSort {   // BubbleSort random array class
 public static void main(String[]args) {   // main function
  int [] sortArray = new int [20];
  sortArray(sortArray);
 }  // end of main function

 public static void sortArray(int [] sArray) {  // (bubble) sort array method
  int result=0;
  int sum = 0, randNum, swapVal;
  double movAvg = 0.0;
  
  for (int i=0; i<sArray.length; i++) {  // for loop through the array
    randNum = (int)(Math.random()*10) + 1;
    sArray[i] = randNum;
    System.out.println(randNum);
    sum += randNum;  // update sum
    movAvg = (double)((movAvg * i) + randNum) / (double)(i + 1); // moving average
  }
  System.out.println("\n\nThe sum of these numbers is: " + sum);
  System.out.printf("\n\nThe average of these numbers is: %.2f", movAvg);
  // Perform bubble sort
  System.out.print("\n\nSorted array values are "); // temporary debug line 1 of 2
  for (int i=0; i<(sArray.length - 1); i++) {
    for (int j=i; j<(sArray.length - 2); j++) {
      if (sArray[i] > sArray[j+1]){
        swapVal = sArray[i];
        sArray[i] = sArray[j+1];
        sArray[j+1] = swapVal;
      }  //end of if
    }  //end of for (inner)
    System.out.print(sArray[i] + " ");  // temporary debug line 2 of 2
  }  //end of for (outer)
  System.out.println("");
 }  //end of (bubble) sort array method
}  //end of Java class