我試圖創建一個程序,它接受用戶輸入並按字母順序排序,因爲它使用compareTo
String
(不是array.sort
)並在最後打印最終的已排序數組。我已經掌握了這個問題的大部分內容,但是一旦我進入排序功能就會丟失。有沒有人對我如何能夠完成SortInsert
方法有任何想法?將字符串插入到Java中的數組中插入字段
import java.util.*;
public class SortAsInserted {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int array_size = GetArraySize();
String[] myArray = new String[array_size];
for (int i = 0; i < array_size; i++){
String nextString = GetNextString();
String[] sortedArray = SortInsert(nextString, myArray);
}
PrintArray(sortedArray);
}
input.close();
}
}
public static String[] SortInsert(String nextString, String[] myArray){
for(int i = 0; i < myArray.length;)
if (nextString.compareToIgnoreCase(myArray[i]) > 0) {
i++;
//if current text is less(alphabetically) than position in Array
}else if (nextString.compareToIgnoreCase(myArray[i]) < 0){
}
}
public static int GetArraySize(){
Scanner input = new Scanner(System.in);
System.out.print("How many items are you entering?: ");
int items_in_array = input.nextInt();
return items_in_array;
}
public static void PrintArray(String[] x) {
for (int i = 0; i < x.length; i++){
System.out.print(x[i]);
}
}
public static String GetNextString(){
Scanner input = new Scanner(System.in);
System.out.println("Enter the next string: ");
String next_string = input.nextLine();
return next_string;
}
}
爲什麼要按照您的要求進行排序?最後一次排序意味着您不必每次都移動所有後來的字符串,甚至可以在原地進行排序。如果您確實需要隨時對其進行排序,則應使用鏈接列表或其他一些不需要移動插入內容的其他數據結構。 –
這是我正在上課的任務。我不希望這樣做,因爲它很麻煩,但它是要求的一部分。 – Efie