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++;
}
}
}
Your if condition should include those 3 statements, right now it only have one statement under it ie 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; }
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.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.