排序来自文件读取的输入

时间:2018-11-21 15:50:54

标签: arrays file sorting arraylist

我正在做作业,遇到了一些问题。我需要编写一个方法,该方法读取具有双精度值的文件,并将布尔值作为参数。如果布尔值是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中的值传输到数组中   第三,根据输入对数组排序   第四,打印出数组。

0 个答案:

没有答案