回答編集履歴

3

コードミス()

2015/06/27 14:49

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  for(int i = 5; i < builder.length(); i += 6){
30
30
 
31
- builder.append(",");
31
+ builder.insert(i, ",");
32
32
 
33
33
  }
34
34
 

2

改めて回答

2015/06/27 14:49

投稿

swordone
swordone

スコア20651

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

1

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

2015/06/27 14:41

投稿

swordone
swordone

スコア20651

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