Donate. I desperately need donations to survive due to my health

Get paid by answering surveys Click here

Click here to donate

Remote/Work from Home jobs

I have problem with this: no main methods, applets, or Midlets found in file jgrasp

My program was working fine but now is not running but is compiling fine. Please help me. I don't know why it does that at all. It was working for past one week. I have tested to edit all possible errors but I can't figure out why is doing that. My code is attached bellow.

import java.util.*;
import java.io.*;

class Mergesort{
int swap = 0;
int comp = 0;
void merge(int arr[], int low, int middle, int high)
{
    int n1 = middle - low + 1;
    int n2 = high - middle;
    int Left[] = new int [n1];
    int Right[] = new int [n2];
    for (int i=0; i<n1; ++i)
         Left[i] = arr[low + i];
    for (int j=0; j<n2; ++j)
         Right[j] = arr[middle + 1+ j];
    int i = 0, j = 0;
    int k = low;
    while (i < n1 && j < n2)
    {

        comp++;
        if (Left[i] <= Right[j]){
            arr[k] = Left[i];
            swap++;
            i++;
        }
        else
        {
            swap++;
            arr[k] = Right[j];
            j++;
        }
            k++;
        }
        while (i < n1)
        {
            swap++;
            arr[k] = Left[i];
            i++;
            k++;
        }
        while (j < n2)
        {
            swap++;
            arr[k] = Right[j];
            j++;
            k++;
        }

       }

       void Merge_sort(int arr[], int l, int r)

{
        if (l < r)
    {
            int m = (l+r)/2;
            Merge_sort(arr, l, m);
            Merge_sort(arr , m+1, r);
            merge(arr, l, m, r);
    }

 }

}

class Quicksort{
int swap = 0;
int comp = 0;

int partition(int[] arr, int low, int high){
    int pivot = arr[high];
    int i = low-1;
    for(int j = low; j<high; j++){
        comp++;
        if(arr[j] <= pivot){
            swap++;
            i++;
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
    }
    int temp = arr[i+1];
    arr[i+1] = arr[high];
    arr[high] = temp;
    swap++;
    return i+1;
}
void Quick_sort(int arr[], int low, int high)
{
    if (low < high)
    {
        int pi = partition(arr, low, high);
        Quick_sort(arr, low, pi-1);
        Quick_sort(arr, pi+1, high);
    }
}

}

class Heapsort{
int swap = 0;
int comp = 0;

public void Heap_sort(int arr[])
{
    int n = arr.length;
    for (int i = (n/2) - 1;i >= 0;i--){
        heapify(arr, n, i);   
    }
    for (int i=n-1; i>=0; i--)
    {
        swap++;
        int temp = arr[0];
        arr[0] = arr[i];
        arr[i] = temp;

        heapify(arr, i, 0);
        }
    }
    void heapify(int arr[], int n, int i)
    {
        int largest = i;  
        int l = 2*i + 1;
        int r = 2*i + 2;

        if (l < n && arr[l] > arr[largest]){
            comp++;
            largest = l;
        }
        if (r < n && arr[r] > arr[largest]) {
            comp++;
            largest = r;
        }

        if (largest != i)
        {
            int swap = arr[i];
            arr[i] = arr[largest];
            arr[largest] = swap;   

            swap++;
            heapify(arr, n, largest);
            }
        }
    }


class Sort{
public int size;
public int[] randdata;
public int[] incrdata;
public int[] decrdata;

public Sort(int size){
    this.size = size;
    randdata = new int[size];
    incrdata = new int[size];
    decrdata = new int[size];
}

public void initialize(){
    for(int i=0;i<size;i++){
    randdata[i] = new Random().nextInt(size);
    incrdata[i] = i;
    decrdata[i] = size - i;

    }
}

public void list(int[] data){
for(int i=0;i<size;i++){
    System.out.print(" "+data[i]);
}
System.out.println();

}


public void swapdata(int[] data, int i , int j){
int temp = data[i];
data[i] = data[j];
data[j] = temp;

}
public void selectionSort(int[] data , String str){

int comp = 0;
int swap = 0;
int n = data.length;
for(int i=0;i<n-1;i++){
    int min = i;
    for(int j=i+1;j<n;j++){
        comp++;
        if(data[j] < data[min]){
            min = j;
        }

    }
    swapdata(data , i , min);
    swap++;
}

// System.out.print("SELECTION SORT(n = )"+size);
   System.out.println(str+" "+"Reads = "+comp+" "+"Writes = "+swap);

}

public void insertionsort(int[] data , String str){
int swap = 0;
int comp = 0;
int n = data.length;

for (int i=1; i<n; i++){
int swap_data = data[i];
int j = i-1;
while (j>=0 && data[j] > swap_data)
{

    swap++;
    comp = comp + 1;
    data[j+1] = data[j];
    j = j-1;
    }
    data[j+1] = swap_data;
    swap++;
}
System.out.println(str+" "+"Reads = "+comp+" "+"Writes = "+swap);
}

public void mergesort(int[] data , String str){
int n = data.length;
Mergesort m = new Mergesort();
m.Merge_sort(data , 0 , n-1);
System.out.println(str+" "+"Reads = "+m.comp+" "+"Writes = "+m.swap);

}

public void quicksort(int[] data , String str){
int n = data.length;
Quicksort q = new Quicksort();
q.Quick_sort(data , 0 , n-1);
System.out.println(str+" "+"Reads = "+q.comp+" "+"Writes = "+q.swap);

}

public void heapsort(int[] data , String str){
Heapsort h = new Heapsort();
h.Heap_sort(data);
System.out.println(str+" "+"Reads = "+h.comp+" "+"Writes = "+h.swap);

}

    /* public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.println("Please enter the size of array: ");
    int size = in.nextInt();
    Sort s = new Sort(size);
    s.initialize();
    s.list(s.randdata);
    s.list(s.incrdata);
    s.list(s.decrdata);

    System.out.println("SELECTION SORT(n = "+size+")");
    s.selectionSort(s.incrdata , "Increasing Order");
    s.selectionSort(s.decrdata , "Decreasing Order");
    s.selectionSort(s.randdata , "Random Order");

    System.out.println("INSERTION SORT(n = "+size+")");
    s.insertionsort(s.incrdata , "Increasing Order");
    s.insertionsort(s.decrdata , "Decreasing Order");
    s.insertionsort(s.randdata , "Random Order");

    System.out.println("MERGE SORT(n = "+size+")");
    s.mergesort(s.incrdata , "Increasing Order");
    s.mergesort(s.decrdata , "Decreasing Order");
    s.mergesort(s.randdata , "Random Order");

    System.out.println("QUICK SORT(n = "+size+")");
    s.quicksort(s.incrdata , "Increasing Order");
    s.quicksort(s.decrdata , "Decreasing Order");
    s.quicksort(s.randdata , "Random Order");

    System.out.println("HEAP SORT(n = "+size+")");
    s.heapsort(s.incrdata , "Increasing Order");
    s.heapsort(s.decrdata , "Decreasing Order");
    s.heapsort(s.randdata , "Random Order");
    } */


}

I think the problem coming from here

public class Main{
public static void Main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Please enter the size of array: ");
int size = in.nextInt();
Sort s = new Sort(size);
s.initialize();

s.list(s.incrdata);
s.list(s.decrdata);
s.list(s.randdata);

System.out.println();
System.out.println("SELECTION SORT(n = "+size+")");
s.selectionSort(s.incrdata , "Increasing Order");
s.selectionSort(s.decrdata , "Decreasing Order");
s.selectionSort(s.randdata , "Random Order ");

System.out.println();
System.out.println("INSERTION SORT(n = "+size+")");
s.insertionsort(s.incrdata , "Increasing Order");
s.insertionsort(s.decrdata , "Decreasing Order");
s.insertionsort(s.randdata , "Random Order ");

System.out.println();
System.out.println("MERGE SORT(n = "+size+")");
s.mergesort(s.incrdata , "Increasing Order");
s.mergesort(s.decrdata , "Decreasing Order");
s.mergesort(s.randdata , "Random Order ");

System.out.println();
System.out.println("QUICK SORT(n = "+size+")");
s.quicksort(s.incrdata , "Increasing Order");
s.quicksort(s.decrdata , "Decreasing Order");
s.quicksort(s.randdata , "Random Order ");

System.out.println();
System.out.println("HEAP SORT(n = "+size+")");
s.heapsort(s.incrdata , "Increasing Order");
s.heapsort(s.decrdata , "Decreasing Order");
s.heapsort(s.randdata , "Random Order ");

}

}  

Comments