作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我已经尝试了几乎所有的方法,但就是无法对其进行排序,我必须使用这种排序算法..
这是我到目前为止的代码,但是当我运行该程序时,它会按正常顺序而不是降序打印数组。
BufferedReader filein = new BufferedReader(new FileReader("Employees.txt"));
int count = Integer.parseInt(filein.readLine());
String[] names = new String[count];
int[] years = new int[count];
int i;
int pass;
int loc;
int temp;
String tempNames;
String passNames;
System.out.println("My Company Employee Search");
System.out.println("--------------------------");
System.out.println("");
for(i=0; i < count-1; i++) {
names[i] = filein.readLine();
years[i] = Integer.parseInt(filein.readLine());
}//populate the arrays from filein
for(pass = 0; pass<count-1;pass++){
loc = pass;
for(i=pass+1; i<count; i++) {
if(years[i]<years[loc]) {
loc = i;
}//end if
}//end of inner loop
temp = years[loc];
years[loc] = years[pass];
years[pass] = temp;
names[loc]=names[pass];
System.out.println(years[loc]+" "+names[loc]);
}//end of containg loop
我正在加载的文本文件是:
6
Luke
2013
Bob
1980
Ben
2000
Cam
2000
Holly
2001
Joe
1997
最佳答案
创建一个普通的旧 Java 对象(a POJO )并将文件内容存储在该 POJO 的实例中。只要你让你的POJO实现Comparable
然后你可以使用 Arrays.sort(Object[])
订购您需要多长的时间。
编辑
那么您需要更改第二个交换。
names[loc]=names[pass];
盲目替换names[loc]
而不保存之前的值。
String tempName = names[loc];
names[loc] = names[pass];
names[pass] = tempName;
关于java - 如何对文本文件中的并行数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27181941/
我是一名优秀的程序员,十分优秀!