Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:按字母顺序输入的名称的选择排序_Java_Arrays_Sorting_Selection Sort - Fatal编程技术网

Java:按字母顺序输入的名称的选择排序

Java:按字母顺序输入的名称的选择排序,java,arrays,sorting,selection-sort,Java,Arrays,Sorting,Selection Sort,我已经有了使用数组进行选择排序的代码: public class SelectionSortTest { public static void main(String[] args) { String[] stringArray = {"Flash", "Green Arrow", "superman", "spiderman", "green lantern"}; System.out.println("Unsorted array:"); for

我已经有了使用数组进行选择排序的代码:

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;
 } 
}
与:

扫描仪输入=新扫描仪(System.in);
对于(int i=0;

但它不起作用。有什么建议吗?

您可以添加以下代码以输入逗号分隔的字符串作为用户输入

    Scanner input = new Scanner(System.in);
    String inputArray = input.next();
    String[] stringArray = inputArray.split(","); 
现在您可以使用
stringArray
并执行其余代码。希望这对您有所帮助


干杯!

您必须首先初始化阵列

Scanner sc = new Scanner(System.in);
System.err.println("enter size of ur table");
int size = sc.nextInt();    
String array[] = new String[size];
for (int i = 0; i < size; i++) {
array[i] = sc.nextLine();
System.err.println("element " + i + "is :" + array[i]);
} 
Scanner sc=新扫描仪(System.in);
System.err.println(“输入您表格的大小”);
int size=sc.nextInt();
字符串数组[]=新字符串[大小];
对于(int i=0;i
别介意,伙计们,我知道怎么做了:

import java.util.Scanner;

public class selectionsort
{ 
public static void main (String args[])
{
    Scanner in = new Scanner (System.in);
    System.out.print ("Enter the number of names you wish to enter: ");
    int n = in.nextInt();
    String array[] = new String [n]; //Array to store the names in.

in.nextLine(); // < --- an extra next Line

for (int i = 0; i < array.length; i++)
{
    System.out.println("Please enter the name: ");
    array[i]= in.nextLine();

}
   System.out.println("Unsorted array:");
      for(String element: array)
           System.out.print(element + " ");
      System.out.println();

      selectionSort(array);
      System.out.println("SelectionSorted array:");
      for(String element: array)
            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;
 } 


}
import java.util.Scanner;
公共类选择排序
{ 
公共静态void main(字符串参数[])
{
扫描仪输入=新扫描仪(系统输入);
System.out.print(“输入要输入的名称数:”);
int n=in.nextInt();
字符串数组[]=新字符串[n];//用于存储名称的数组。
in.nextLine();//<---额外的下一行
for(int i=0;i
最好保留一个排序的数组,每次用户输入名称时,将其作为数组中的正确点插入。由于用户将是目前为止最大的瓶颈,他们甚至不会注意到这一点…@Boris the Spider没事,我刚刚明白了,请看下面我的回答谢谢。我刚刚明白了你发帖了。上面回答谢谢。我刚在你发帖前弄明白。上面回答:D:D:D:D:D
Scanner sc = new Scanner(System.in);
System.err.println("enter size of ur table");
int size = sc.nextInt();    
String array[] = new String[size];
for (int i = 0; i < size; i++) {
array[i] = sc.nextLine();
System.err.println("element " + i + "is :" + array[i]);
} 
import java.util.Scanner;

public class selectionsort
{ 
public static void main (String args[])
{
    Scanner in = new Scanner (System.in);
    System.out.print ("Enter the number of names you wish to enter: ");
    int n = in.nextInt();
    String array[] = new String [n]; //Array to store the names in.

in.nextLine(); // < --- an extra next Line

for (int i = 0; i < array.length; i++)
{
    System.out.println("Please enter the name: ");
    array[i]= in.nextLine();

}
   System.out.println("Unsorted array:");
      for(String element: array)
           System.out.print(element + " ");
      System.out.println();

      selectionSort(array);
      System.out.println("SelectionSorted array:");
      for(String element: array)
            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;
 } 


}