列表從輸入txt文件[爪哇]使用jar文件經由控制檯俄語名稱
- Александр
- Роман
- Михаил不正確的輸出
此代碼正確的IntelliJ排序這些名稱調試期間的想法。 當我創建一個jar文件並從windows控制檯java -jar E:\\sort-it.jar
運行它時,在輸出文件中名字是Роман,儘管它應該是Александр,就像在調試中一樣。
從罐子推出的不正確的順序是
- Роман
- Александр
- Михаил
正確的順序是
- Александр
- Михаил
- Роман
可能是什麼問題呢?
package programs;
import java.io.*;
import java.util.*;
public class Main{
public static String inputFileName = "E:/in.txt";
public static String outputFileName = "E:/out.txt";
public static List<String> FetchFileData(String fileName) throws IOException {
List<String> tempArray = new ArrayList();
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line;
while ((line = reader.readLine()) != null){
tempArray.add(line);
}
reader.close();
return tempArray;
}
public static List<String> SortWords(List<String> inputArray) {
String temp;
for (int i = 0; i < inputArray.size(); i++){
for (int j = i + 1; j < inputArray.size(); j++){
if (inputArray.get(i).compareTo(inputArray.get(j)) > 0){
temp = inputArray.get(i);
inputArray.set(i, inputArray.get(j));
inputArray.set(j, temp);
}
}
}
return inputArray;
}
public static void WriteToFile(List<String> inputArray, String fileName) throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
for (int i = 0; i < inputArray.size(); i++) {
writer.write(inputArray.get(i));
writer.newLine();
}
writer.close();
}
public static void main(String[] args) throws IOException {
List<String> unsortedArray;
List<String> sortedArray;
unsortedArray = FetchFileData(inputFileName);
sortedArray = SortWords(unsortedArray);
WriteToFile(sortedArray, outputFileName);
}
}
也許你可以使用一個校書郎如下所示: https://stackoverflow.com/a/7633680/4636715 這樣你添加的語言環境的代碼明確,而不是依靠的IntelliJ的一個。 – vahdet
但是,如果我需要手動編寫排序algorythm,我該如何改進我的代碼? – Fasta