質問するログイン新規登録

回答編集履歴

3

コードミス()

2015/06/27 14:49

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -13,7 +13,7 @@
13
13
  で全部文字列として扱えますし,その後の「5文字ごとカンマを打つ」作業も
14
14
  ```lang-java
15
15
  for(int i = 5; i < builder.length(); i += 6){
16
- builder.append(",");
16
+ builder.insert(i, ",");
17
17
  }
18
18
  ```
19
19
  で済みます.わざわざ長い配列を使っている意味がよくわかりませんし,一文字ずつ,しかもUnicode整数を読み込んでいる意図が謎です.

2

改めて回答

2015/06/27 14:49

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -1,1 +1,19 @@
1
+ おぼろげにやりたいことは伝わったのですが,それをするにはあまりにも無駄が多いように思います.
2
+ まず「ファイルから各行の10文字目以降を取り出す」という意味ならば
3
+ ```lang-java
4
+ StringBuilder builder = new StringBuilder(); //読みこんだ文字列全部詰め込む
5
+
6
+ BufferedReader br = new BufferedReader(new FileReader(fileName));
7
+ br.readLine(); //1行読み捨て
1
- 質問の趣旨にそぐわない回答のようでした
8
+ String temp = null;
9
+ while((temp = br.readLine()) != null){
10
+ builder.append(temp.substring(9)); //読み込んだ行の10文字目以降を文字列に足す
11
+ }
12
+ ```
13
+ で全部文字列として扱えますし,その後の「5文字ごとカンマを打つ」作業も
14
+ ```lang-java
15
+ for(int i = 5; i < builder.length(); i += 6){
16
+ builder.append(",");
17
+ }
18
+ ```
19
+ で済みます.わざわざ長い配列を使っている意味がよくわかりませんし,一文字ずつ,しかもUnicode整数を読み込んでいる意図が謎です.

1

間違った回答のようでした

2015/06/27 14:41

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -1,4 +1,1 @@
1
- `tmp += ','; `
2
- シングルクォーテーション`'`で囲った文字はString型ではなく,プリミティブのchar型として扱われるので,
3
- String+演算子による連結は使えません.
1
+ 質問趣旨そぐわない回答のうでした
4
- ダブルクォーテーション`"`で囲って下さい.