回答編集履歴

3

誤記訂正

2017/01/05 19:55

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- (Macってデフォルトではunixのコマンドが使えないと聞いたことがあるのですが...)odのようなバイナリーダンプコマンドがあるならそれでnowmoney.txtの中身をダンプするか、エラーが発生しているJavaプログラムのところで文字列の中身を表示してみるとよいと思います。
5
+ (Macってデフォルトではunixのコマンドが使えないと聞いたことがあるのですが...)odのようなバイナリーダンプコマンドがあるならそれでnowmoney.txtの中身をダンプするか、エラーが発生しているJavaプログラムのところで文字列の中身を表示してみるとよいと思います。
6
6
 
7
7
 
8
8
 

2

追記

2017/01/05 19:55

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -29,3 +29,19 @@
29
29
  str = 33
30
30
 
31
31
  と表示されるはずです。
32
+
33
+
34
+
35
+ ---
36
+
37
+
38
+
39
+ 追記:自分は過去にこうしたデバッグをよくやったのである程度ASCIIコードを覚えてしまったのですが、文字列を16進ダンプしただけではわかりにくいので
40
+
41
+ `String.format("%02x:'%<c ", c)`
42
+
43
+ として16進数と文字を両方印字すると分かりやすいかも知れません。こうしておくと印字可能な文字はそのまま表示されますし、印字不可能なものがあっても16進数の内容で「それがなにか」を判読できます。strが期待通り"3"だった場合は`str = 33:'3 `と印字されます。
44
+
45
+ (`%c`の後ろに空白文字をわざわざ入れているのは印字文字がサロゲートペアの1文字目に該当する文字だった場合その文字の次の文字が文字化けにより見えなくならないようにするための回避策です。)
46
+
47
+

1

誤記

2017/01/04 13:54

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  ```
26
26
 
27
- 上記はパースする文字列の中身を文字毎に16進数で印字するものですが、期待通りstr中身が"3"なら
27
+ 上記はパースする文字列の中身を文字毎に16進数で印字するものですが、期待通りstr中身が"3"なら
28
28
 
29
29
  str = 33
30
30