我試圖按降序和升序排列輸入到數組中的字符串數據。陣列中的氣泡排序字符串
以下是到目前爲止的代碼:
import java.util.*;
public class nextLineArray
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String names[]=new String[12];
System.out.println("Enter the 12 names: ");
//Load Array
for(int i = 0; i < 12; i++)
{
names[i] = input.nextLine();
}
//Print initial list
System.out.println("List of names via input:"+ names);
//Print descending order list
String descSort;
descSort=bubbleSortDesc(names);
System.out.println("Names listed sorted in descending order (via BubbleSort): "+descSort);
}
public static String bubbleSortDesc(String[] names)
{
String temp;
int passNum, i, result;
for(passNum=1; passNum <= 11; passNum++)
{
for(i = 0; i<=(11-passNum); i++)
{
result=names[i].compareToIgnoreCase(names[i+1]);
if(result>0)
{
temp=names[i];
names[i]=names[i+1];
names[i+1]=temp;
}
}
}
return names;
}
}
當我嘗試到排序的數組返回到主法它給了我下面的錯誤返回行:
Incompatible Types
我們在線教師剛開始使用多種方法和數組的同時,這很令人困惑......請原諒我的錯誤是否顯而易見。
編輯:我有固定的初始問題,感謝亞歷山大·桑托斯在評論,我現在遇到了一個問題,輸入數據後,執行程序時,而不是打印數組中的字符串它打印出
[Ljava.lang.String;@6d782f7c
謝謝你,我解決了一切,並設法讓程序編譯和執行。但是,在聲明和排序後應該打印數組的行會打印出來。 你能否告訴我爲什麼會發生這種情況? – user3385542
當您在對象上執行打印時,它會打印對該對象的引用。在這種情況下,您想要打印該對象的值,這意味着要創建一個for循環來遍歷該對象,併爲每個值打印該值。 –