2017-05-23 2 views
-2
Scanner input = new Scanner(System.in); 
String[] string_array = new String[5]; 

for (int i = 0; i < string_array.length; i++) 
{ 
    System.out.println("Please enter a string to sort:"); 
    string_array[i] = input.next(); 
} 

System.out.println ("\nSorting options:\nA.Ascending\nB.Descending\n\nPlease enter your choice in specific letter:"); 
Scanner s = new Scanner (System.in); 
String a = s.next(); 

if (a.equals("a")){ 
    Arrays.sort(args); 
    System.out.println(); 
    for(int i = 0; i < string_array.length; i++) 
     System.out.println(string_array[i]); 
+1

Welchen Fehler bekommen Sie? Wie funktioniert dein Code nicht? Sie scheinen zu versuchen, ein Array namens "args" zu sortieren, aber wo definieren Sie das? (Hinweis: Nicht im angezeigten Code.) – David

+0

'args' ist der Standardname in 'public void main (String [] args)'. Wenn Sie das also meinen, sollten Sie die vollständige main-Methode einfügen. – EarlGrey

Antwort

0
Scanner input = new Scanner(System.in); 
    String[] string_array = new String[5]; 

    for (int i = 0; i < string_array.length; i++) 
    { 
     System.out.println("Please enter a string to sort:"); 
     string_array[i] = input.next(); 
    } 

    System.out.println ("\nSorting options:\nA.Ascending\nB.Descending\n\nPlease enter your choice in specific letter:"); 
    Scanner s = new Scanner (System.in); 
    String a = s.next(); 

    if (a.equalsIgnoreCase("a")){ 
     //I think this should be passed into string_array 
     Arrays.sort(string_array); 
    }else if(a.equalsIgnoreCase("b")){ 
     Arrays.sort(string_array, new Comparator<String>() { 
      public int compare(String o1, String o2) { 
       return o1.compareTo(o2); 
      } 
     }); 
    } 
    System.out.println(); 
    for(int i = 0; i < string_array.length; i++) 
     System.out.println(string_array[i]); 
} 
Verwandte Themen