Question

i need to do a bubble sort with 2 different set of datas. currently i have entered the bubble sort method twice so it can run with both set of data. is there a way to use a call method to the bubble sort.

int intJ1R1 = Integer.parseInt(txtJ1R1.getText());
int intJ2R1 = Integer.parseInt(txtJ2R1.getText());
int intJ3R1 = Integer.parseInt(txtJ3R1.getText());
int intJ4R1 = Integer.parseInt(txtJ4R1.getText());
int intJ5R1 = Integer.parseInt(txtJ5R1.getText());
int intJ6R1 = Integer.parseInt(txtJ6R1.getText());

double[] r1Array = {intJ1R1, intJ2R1, intJ3R1, intJ4R1, intJ5R1, intJ6R1};

double temp;
for (int i=0; i<r1Array.length; i++)
{
    for (int j = 1; j <(r1Array.length-i); j++)
    {
        if (r1Array[j-1]>=r1Array[j])
        {
            temp=r1Array[j-1];
            r1Array[j-1] = r1Array[j];
            r1Array[j] = temp;
        }
    }
}

double totalR1 = (r1Array[1] + r1Array[2] + r1Array[3] + r1Array[4])/4;
String stringTotalR1 = Double.toString(totalR1);                
lblTotalRun1.setText(stringTotalR1);

int intJ1R2 = Integer.parseInt(txtJ1R2.getText());
int intJ2R2 = Integer.parseInt(txtJ2R2.getText());
int intJ3R2 = Integer.parseInt(txtJ3R2.getText());
int intJ4R2 = Integer.parseInt(txtJ4R2.getText());
int intJ5R2 = Integer.parseInt(txtJ5R2.getText());
int intJ6R2 = Integer.parseInt(txtJ6R2.getText());

double[] r2Array = {intJ1R2, intJ2R2, intJ3R2, intJ4R2, intJ5R2, intJ6R2};

for (int i=0; i<r2Array.length; i++)
{
    for (int j = 1; j <(r2Array.length-i); j++)
    {
        if (r2Array[j-1]>=r2Array[j])
        {
            temp=r2Array[j-1];
            r2Array[j-1] = r2Array[j];
            r2Array[j] = temp;
        }
    }
}

double totalR2 = (r2Array[1] + r2Array[2] + r2Array[3] + r2Array[4])/4;
String stringTotalR2 = Double.toString(totalR2);                
lblTotalRun2.setText(stringTotalR2);
Was it helpful?

Solution 3

         public static void main(String[] args)
             {
BubbleSort bs = new BubbleSort(); //name of your class instead of BubbleSort

    double[] r1Array = {intJ1R1, intJ2R1, intJ3R1, intJ4R1, intJ5R1, intJ6R1};
    double[] r2Array = {intJ1R2, intJ2R2, intJ3R2, intJ4R2, intJ5R2, intJ6R2};

         double[] sortedR1 = bs.bubbleSort(r1Array);   
         double[] sortedR2 = bs.bubbleSort(r2Array); 

            }
     public double[] bubbleSort(double[] array){
    double temp;

         for (int i=0; i<array.length; i++)
        {
            for (int j = 1; j <(array.length-i); j++)
            {
                if (array[j-1]>=array[j])
                {
                    temp=array[j-1];
                    array[j-1] = array[j];
                    array[j] = temp;
                }
            }
        } 
         return array;
        }

OTHER TIPS

Create a method with the following signature:

public double[] bubbleSort(double[] array){
    //move your sorting code here, and change array's name to array
    return sortedArray;
}

Create a class and a method and then invoke the method from the main method

public class BubbleSort
{
 public void bubbleSort(int value1, int value2, int value3, int value4, int value5, int value6) {

         double[] r1Array = {value1, value2, value3, value4, value5, value6};

  double temp;
  for (int i=0; i<r1Array.length; i++)
  {
      for (int j = 1; j <(r1Array.length-i); j++)
      {
          if (r1Array[j-1]>=r1Array[j])
          {
              temp=r1Array[j-1];
              r1Array[j-1] = r1Array[j];
              r1Array[j] = temp;
          }
      }
  }

  double totalR1 = (r1Array[1] + r1Array[2] + r1Array[3] + r1Array[4])/4;
  String stringTotalR1 = Double.toString(totalR1);                
  lblTotalRun1.setText(stringTotalR1);
}
public static void main(String[] args)
{
  BubbleSort bubbleSort = new BubbleSort();
  int intJ1R1 = Integer.parseInt(txtJ1R1.getText());
  int intJ2R1 = Integer.parseInt(txtJ2R1.getText());
  int intJ3R1 = Integer.parseInt(txtJ3R1.getText());
  int intJ4R1 = Integer.parseInt(txtJ4R1.getText());
  int intJ5R1 = Integer.parseInt(txtJ5R1.getText());
  int intJ6R1 = Integer.parseInt(txtJ6R1.getText());

  bubbleSort.bubbleSort(intJ1R1,intJ1R1,intJ1R1,intJ1R1,intJ1R1,intJ1R1);

  int intJ1R2 = Integer.parseInt(txtJ1R2.getText());
  int intJ2R2 = Integer.parseInt(txtJ2R2.getText());
  int intJ3R2 = Integer.parseInt(txtJ3R2.getText());
  int intJ4R2 = Integer.parseInt(txtJ4R2.getText());
  int intJ5R2 = Integer.parseInt(txtJ5R2.getText());
  int intJ6R2 = Integer.parseInt(txtJ6R2.getText());

  bubbleSort.bubbleSort(intJ1R2,intJ1R2,intJ1R3,intJ1R4,intJ1R5,intJ1R6);

   }
 }

You can define the integer parameters inside the bubbleSort method itself once however since I don't know from What datatype you are converting to Integer hence have written it twice in main method itself

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top