首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将整数数组写入文件

将整数数组写入文件
EN

Stack Overflow用户
提问于 2016-04-28 12:12:40
回答 1查看 320关注 0票数 0

我正在尝试创建一个方法,该方法读取文件并返回整数数组,然后将每行数据转换为整数。然后,在获取结果数组并将其写回文件之前,我尝试使用冒泡排序对数据进行排序。我非常确定我的冒泡排序代码是正确的,但我在尝试将整数写回文件时遇到了问题……我已经复制并粘贴了下面的全部代码:)

代码语言:javascript
复制
import java.io.*;
import java.util.Scanner;

public class Main {


public static void main(String[] args) throws IOException,
    FileNotFoundException {

 String filename = "/Users/Desktop/13-2/src/pkg13/pkg2/sort.txt";
processFile(filename);
writeToFile(filename);//calls method processFile
}


public static void processFile (String file)
throws IOException, FileNotFoundException{
//String line;
 //lines is declared as a string

String filename = "/Users/Desktop/13-2/src/pkg13/pkg2/sort.txt";
try (BufferedReader inputReader = new BufferedReader (new      InputStreamReader(new     FileInputStream("/Users/Desktop/writeTofile/src/writetofile/scorewrite.txt")))) {
        String line;
        while ((line = inputReader.readLine()) != null) {
            double number = Double.parseDouble(line);
        }
//Scanner scanner = new Scanner(new File(filename));
//int i = 0;
//while(scanner.hasNextInt()){
  // bubble[i++] = scanner.nextInt();

}
}

public static void writeToFile (String filename) throws IOException {
PrintWriter outputWriter = new PrintWriter(new FileWriter(filename));

    outputWriter.println();


outputWriter.flush();
outputWriter.close();
}
private int[] array = new int[25];

public int maxi(int[]a, int first){
   int max = 0;
    for(int i=first; i<a.length; i++)
    {
        if (a[max]<a[i]){
            max =i;
        }
    }
    return max;
}

public void bubble(double number) {
    boolean a = false;
    for (int i=0; i<array.length-1; i++) {
        if (array [i]> array [i+1]) {
            int temp = array [i];
            array [i] = array [i+1];
            array [i+1] = temp ;}
        a= true;

        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2017-03-29 16:21:32

在这里,您只向输出文件中写入了一行空行:

代码语言:javascript
复制
outputWriter.println();

您需要写出数组中的所有数字,但您甚至没有将它们存储在任何地方:

代码语言:javascript
复制
double number = Double.parseDouble(line);

在这一行之后,从输入文件读取的数字需要存储在一个数组中。

提示代码片段:

代码语言:javascript
复制
int i=0;
while ((line = inputReader.readLine()) != null) {
        array[i++] = Integer.parseInt(line);
    }

您还可以将双精度数与整数混合:(

你也错了,你的冒泡排序是正确的:(

我建议从更简单的东西开始,只需读取it数组并将其写回文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36905106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档