我正在做作业,遇到了一些问题。我需要编写一个方法,该方法读取具有双精度值的文件,并将布尔值作为参数。如果布尔值是true,则该方法以升序对文件进行排序。如果为假,则文件将按降序排序。
这是我的成就:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.ArrayList;
public class Q2_2 {
public static void main(String args[]) throws FileNotFoundException {
File fw = new File("test.txt");
Scanner sc = new Scanner(fw);
Scanner scan = new Scanner(System.in);
boolean b = scan.nextBoolean();
ArrayList<Double> list = new ArrayList<Double>();
while(sc.hasNext()) {
if(sc.hasNextDouble()) {
list.add(sc.nextDouble());
}
}
double[]result = new double[list.size()];
for(int i=0; i<list.size();i++) {
result[i]=list.get(i);
}
if(b == true) {
for(int i=0; i<result.length;i++) {
for(int j=i+1; j<result.length;j++) {
if(result[i]>result[j]) {
double temp = result[i];
result[i]=result[i+1];
result[i+1]=temp;
}
}
}
}else{
for(int i=0; i<result.length;i++) {
for(int j=i+1; j<result.length;j++) {
if(result[i]<result[j]) {
double temp = result[i];
result[i]=result[i+1];
result[i+1]=temp;
}
}
}
}
for(int i=0;i<result.length;i++) {
System.out.println(result[i]);
}
}
}
我已经准备了一个文本文件进行测试,但是当我运行该程序并键入true / false时,什么也没有发生。我想做的是 首先在ArrayList中分配读入值,因为我不知道输入的确切数字。 然后将arraylist中的值传输到数组中 第三,根据输入对数组排序 第四,打印出数组。