Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

133
Views
Bubble sort didn't sort

I tried to do bubble sort and still a beginner, I didn't find any errors but when I tried to sort it alphabetically it didn't sort the array.

public class Main  {

    public static void bubblesort ( String [] name) {
        String tempmemory = " na";

        for (int i = 0; i < name.length; i++) {
            for (int j = 0; j < (name.length - 1); j++) {

                if (name[j].compareTo(name[j + 1]) < 0)

                    tempmemory = name[j];
                name[j] = name[j + 1];
                name[j + 1] = tempmemory;
            }
        }
    }

    public static void main ( String [] args) {

        String [] name  = { "ciku", "eman","aina"} ;

        int i=0;

        System.out.println(" Before sort : ");
        while (i < name.length)
        {
            System.out.print ( name[i] + "  ");

            i++;
        }

        bubblesort(name);

        i=0;
        System.out.println(" \n After sort : ");
        while (i < name.length)
        {
            System.out.print ( name[i] + "  ");

            i++;
        }

}


}

How can I fix this code to correctly sort an array using bubble sort?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Your if condition should include those 3 statements, right now it only have one statement under it i.e tempmemory = name[j];. So use {} bracket for if condition if it has multiple statement. So write if statement like this:

if (name[j].compareTo(name[j + 1]) < 0) {
    tempmemory = name[j];   
    name[j] = name[j + 1];
    name[j + 1] = tempmemory; 
}
over 4 years ago · Santiago Trujillo Report

0

This chunk of code:

            if (name[j].compareTo(name[j + 1]) < 0)

                tempmemory = name[j];
            name[j] = name[j + 1];
            name[j + 1] = tempmemory;

is obviously wrong.

Hint: use { and } to fix it.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!