質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

3278閲覧

Java BufferedWriterの使い方 多次元配列について

hobby527crane

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2020/05/22 10:47

編集2020/05/22 13:22

練習で多次元配列をcsvに出力したいと思いソースコードを書き、BufferedWriterで出力しようとしましたが

「型 BufferedWriter のメソッド write(int) は引数 (int[][]) に適用できません」

とエラーメッセージが出てうまく実行できません。一通り調べましたがよくわからずこちらのほうに質問させていただいた次第です。プリミティブ型の変換が必要なのかもいまいちよく分かりません。
解決策、書き直した形等解答のほうよろしくお願いします。

(追記)
import文は一通り追加しています。

<ソースコード>

int[][]humanList = {
{101,26,200},
{102,33,250},
{103,50,300},
};
humanList =new int[3][3];

try { File f = new File("humanList.csv"); BufferedWriter bw = new BufferedWriter(new FileWriter(f)); bw.write(humanList); } catch (IOException e) { System.out.println(e); }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

writeメソッドにダイレクトに配列を突っ込んでもダメです。
配列内要素1つ1つの数値を文字列に変換してwriteしていきます。
コードの一例として、

java

1 // 配列の中身を1つずつ取り出すfor文 2 for(int[] row:humanList){ 3 for(int i:row){ 4 // String型に変換してから出力 5 bw.write(Integer.toString(i)); 6 // csvなのでカンマを入れる 7 bw.write(","); 8 } 9 // 1行分出力し終わったら改行 10 bw.newLine(); 11 }

このまま使うと微妙に想定と違うデータができますが、なぜそうなるか考えて修正してみてください。

投稿2020/05/22 13:28

hope_mucci

総合スコア4447

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問