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

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

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

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

2回答

2159閲覧

Javaに詳しい方、教えて下さい。

crotchet878

総合スコア8

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2016/08/23 13:48

前提・実現したいこと

こんばんは。Java初心者です。
わからないので質問させていただきます。

標準入力から入力された文字列を改行してファイルに出力するプログラムを組みたいです。また、繰り返し入力ができ、「end」が入力されたらファイルを出力し、プログラムを終了します。
aaaa
bbbb
ccc
dd
↑こんな感じにしたいのですがエラーになります。

分かる方、回答のほうご教授下さい。よろしくお願いします。

発生している問題・エラーメッセージ

eclipseで実行を行うと、エラーにはならないのですが、
上記のようになりません。

該当のソースコード

package Output_Input_xxxxx;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class xxxxx {

public static void main(String[] args) { // 入力受付 List<String> list = new ArrayList(); Scanner scanner = new Scanner(System.in); while (true) { String s = scanner.nextLine(); if (s.equals("end")) { break; } list.add(s); } scanner.close(); // ファイル書き込み String lineSeparetor = System.getProperty("line.separetor"); File file = new File("test" + System.currentTimeMillis() + ".txt"); try (FileWriter filewriter = new FileWriter(file)) { filewriter.write(String.join(lineSeparetor, list.toArray(new String[0]))); } catch (IOException e) { } }

}

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

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

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

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

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

matobaa

2016/08/23 14:17

んーごめん違いがわからないや
kei344

2016/08/23 15:50

コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
swordone

2016/08/23 16:50

「上記のようになりません」とありますが、現状どのようになっているのでしょうか?
guest

回答2

0

できましたが、期待しているものとは違うのかも知れません

import java.io.*;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
class LL{

public static void main(String[] args){

ArrayList<String> l=new ArrayList<>();

Scanner scanner = new Scanner(System.in);
while (true) {
String s = scanner.nextLine();

if (s.equals("end")) {
break;
}

l.add(s);

}
scanner.close();

File file = new File("test" + System.currentTimeMillis() + ".txt");
try (BufferedWriter fw=new BufferedWriter( new FileWriter(file));) {

for(String i2:l){

fw.write(i2);
fw.newLine();
}

} catch (IOException e) {

}

}
}

投稿2016/10/30 21:14

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

matobaa さんに指摘されているもの と本質的に同じ質問ですね.

String lineSeparetor = System.getProperty("line.separetor"); filewriter.write(String.join(lineSeparetor, list.toArray(new String[0])));

の部分ですが

// つなぎたい文字 String separator = System.lineSeparator(); // 改行の場合 //String separator = ","; // コンマの場合 filewriter.write(String.join(separetor, list));

でうまくいくと思います.

投稿2016/08/23 15:45

tamy

総合スコア442

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

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

tamy

2016/08/23 15:47

ちなみに,「タイトルは内容の要約で」と前回指摘されているのですから,改善する努力くらいはした方が良いかと.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問