arrays Java:用户按字母顺序输入的名称的选择排序
我已经有了使用数组进行选择排序的代码:
public class SelectionSortTest
{
public static void main(String[] args)
{
String[] stringArray = {"Flash", "Green Arrow", "superman", "spiderman", "green lantern"};
System.out.println("Unsorted array:");
for(String element: stringArray)
System.out.print(element + " ");
System.out.println();
selectionSort(stringArray);
System.out.println("Sorted array:");
for(String element: stringArray)
System.out.print(element + " ");
System.out.println();
}
static void selectionSort(Comparable[] array)
{
int smallindex;
for(int i = 0; i < array.length; i++)
{
smallindex = i; // set first element as smallest
for(int j = i + 1; j < array.length; j++) // find smallest
if(array[j].compareTo(array[smallindex]) < 0)
smallindex = j;
if(smallindex != i)
swap(array, smallindex, i);
}
}
static void swap(Object[] array, int index1, int index2)
{
Object temp = array[index1];
array[index1] = array[index2];
array[index2] = temp;
}
}
但是我想改变这一点,以便用户必须输入这些名称。这样,outprint会一直询问“输入名称”,您可以输入任意数量的名称(用逗号分隔),然后执行上述任务
我已经试着换了
String[] stringArray = {"Flash", "Green Arrow", "superman", "spiderman", "green lantern"};
与:
Scanner input = new Scanner(System.in);
for (int i = 0; < array.length; i++)
{
System.out.print("Enter names " + (i + 1) + ": ");
array[i] = input.next():
但它不起作用。有什么建议吗
# 1 楼答案
您可以添加以下代码以输入逗号分隔的字符串作为用户输入
现在您可以使用
stringArray
并执行其余代码。希望这有帮助干杯
# 2 楼答案
您必须首先初始化数组
# 3 楼答案
没关系,伙计们,我知道怎么做了: