前提・実現したいこと
ファイル名を引数とする後1行に1レコードで配列arrayをファイルに出力する
書き方法がわからない。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
何となく書いてみました。
でもバブルソートを使って場所がわからないまたoutputの中身もわからない
配列をファイルに出力したいです
エラーメッセージ public void output(String filename) 中身の書き方法教えて
該当のソースコード
ソースコード package ex3; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.Collections; public class BubbleSort { private final int n = 50000; private int[] array = new int[n]; public BubbleSort(String filename) { try { BufferedReader br = new BufferedReader(new FileReader(filename)); String line; while((line = br.readLine()) != null){ line = br.readLine(); } } catch (FileNotFoundException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } catch (IOException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } Collections.sort(array); System.out.println(array); } // ここを作る // ファイル名を引数とする // ファイルを開いて全て読み込んで配列arrayに入れる public void sort() { // ここを作る // バブルソートを実装する // 配列arrayの中身をソートする for(int i=0;i<array.length-1;i++){ for(int j=array.length-1;j>i;j--){ if(array[j]<array[j-1]){ int t=array[j]; array[j]=array[j-1]; array[j-1]=t; } } } } public void output(String filename) { // ここを作る // ファイル名を引数とする // 配列arrayをファイルに出力する // 1行に1レコード PrintWriter writer; try { writer = new PrintWriter(new BufferedWriter(new FileWriter(filename))); for(String line1: array){ writer.println(line1); } writer.close(); } catch (IOException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } } public static void main(String[] args) { String file1 = "rand2.txt"; String file2 = "result_ex3-1_rand2.txt"; BubbleSort bs = new BubbleSort(file1); bs.sort(); bs.output(file2); } }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー